Albor » 05 ноя 2007, 17:04
Стек: первым пришёл - последним ушёл, то есть, добавленые данные в стек извлекаются в обратном порядке, например: помещаем в стек последовательно 1, 2, 3, 4, а присчитывании получаем 4, 3, 2, 1, причём, считанные данные удаляются из стека. Очередь - из названия понятно, первым встал, первым ушёл, но, хочу заметить, что очередь может быть с приоритетом и здесь уже не всё будет зависеть только от порядка поступления. Список - каждый элемент списка содержит указатель на следующий, то есть, доступиться к данным в N-ом элементе списка, можно только пройдясь по всем предыдущим элементам, опять-же, список может быть двунаправленным, то есть, каждый последующий элемент списка будет содержать указатели на следующий и предыдущий. По такому списку можно двигаться и вперёд и назад. Каждый из вышеперечисленных структур может быть реализован в виде одного класса-контейнера, элементами которого является структура или класс, представляющие 1 элемент контейнера. Вот так - в двух словах.
Стек: первым пришёл - последним ушёл, то есть, добавленые данные в стек извлекаются в обратном порядке, например: помещаем в стек последовательно 1, 2, 3, 4, а присчитывании получаем 4, 3, 2, 1, причём, считанные данные удаляются из стека. Очередь - из названия понятно, первым встал, первым ушёл, но, хочу заметить, что очередь может быть с приоритетом и здесь уже не всё будет зависеть только от порядка поступления. Список - каждый элемент списка содержит указатель на следующий, то есть, доступиться к данным в N-ом элементе списка, можно только пройдясь по всем предыдущим элементам, опять-же, список может быть двунаправленным, то есть, каждый последующий элемент списка будет содержать указатели на следующий и предыдущий. По такому списку можно двигаться и вперёд и назад. Каждый из вышеперечисленных структур может быть реализован в виде одного класса-контейнера, элементами которого является структура или класс, представляющие 1 элемент контейнера. Вот так - в двух словах.