Здравствуйте, Аноним, Вы писали:
А>где найти реализацию stl list на языке С?
в твоём компиляторе с++, хедер- list
Re[2]: реализация stl list на языке С
От:
Аноним
Дата:
29.01.08 00:20
Оценка:
Здравствуйте, Sni4ok, Вы писали:
S>Здравствуйте, Аноним, Вы писали:
А>>где найти реализацию stl list на языке С?
S>в твоём компиляторе с++, хедер- list
фактически мне нужен связанный список с быстрым поиском, вставкой, удалением — все как у list только на чистом C.
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Sni4ok, Вы писали:
S>>Здравствуйте, Аноним, Вы писали:
А>>>где найти реализацию stl list на языке С?
S>>в твоём компиляторе с++, хедер- list
А>фактически мне нужен связанный список с быстрым поиском, вставкой, удалением — все как у list только на чистом C.
есть давольно-таки распространенный hider-файл sys_queue.h с макросами для работы, со списками (одно-двусвязными) и очередями. единственное чего там нет так это "быстрого" поиска. Но я думаю реализовать самому это достаточно просто. Вот одна из реализаций: sys_queue.h
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, Sni4ok, Вы писали:
S>>Здравствуйте, Аноним, Вы писали:
А>>>где найти реализацию stl list на языке С?
S>>в твоём компиляторе с++, хедер- list
А>фактически мне нужен связанный список с быстрым поиском, вставкой, удалением — все как у list только на чистом C.
Для быстрого поиска используются обычно бинарные деревья. Чаще всего RB-tree.
Если нужны только три операции поиск, вставка и удаление, то, думаю, отлично подойдёт дерево с узлами без члена-указателя на родителя. Таким образом, по объёму памяти дерево будет равноценно списку, но поиск будет происходить значительно быстрее ( O(log2(n)) против O(N) ).