Ребят помогите с курсовиком по спискам. Ну нисколечка их не знаю.
До Нового Года надо сдать 3 курсовика 2 по паскалю и 1 по бейсику.
2 делаю довольно таки просто, но с одним реальная запара и не остается времени все это учить с 0.
Вообщем задание такое:
Реализовать алгоритм создания и удаления кольцевого линейного списка.
Вот принципе что тут нужно сделать:
Модули для работы с динамическими списками: однонаправленный, двунаправленный, однонаправленный кольцевой, двунаправленный кольцевой. Реализованы процедуры 0. Создание пустого списка 1. Добавление элемента в начало списка 2. Добавление элемента в конец списка 3. Вставка элемента в список 4. Удаление элемента из начала списка 5. Удаление элемента из конца списка 6. Удаление элемента списка с заданным номером 7. Печать списка 8. Сортировка списка.
Вся надежда на вас. Не сдам этот курсовик не допуск к сесии =//
Курсовик по паскалю (Выручайте)
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
Паскаль не знаю, но у себя нашёл следующее:
Линейный список.
Реализованные методы:
а) добавление элемента в список;
б) «перемотка» списка на n позиций;
в) удаление n-го элемента;
г) взятие n-го элемента;
д) создание нового списка;
е) поиск позиции элемента;
ж) взятие следующего элемента и др.
Исходник в архиве, только я глянул там ни коментариев ни разбора полётов.
Линейный список.
Реализованные методы:
а) добавление элемента в список;
б) «перемотка» списка на n позиций;
в) удаление n-го элемента;
г) взятие n-го элемента;
д) создание нового списка;
е) поиск позиции элемента;
ж) взятие следующего элемента и др.
Исходник в архиве, только я глянул там ни коментариев ни разбора полётов.
- Вложения
-
- Структура Данных - Список(Pascal).zip
- (5.56 КБ) 30 скачиваний
-
- Сообщения: 526
- Зарегистрирован: 03 янв 2009, 23:17
- Откуда: Voronezh
- Контактная информация:
Вот тебе еще сортировка:
[syntax="pascal"]
type pitem=^item;
item=record
data:integer;
next
item;
end;
...
function Sort(head
item)
item;
var newh,max,prev,pmax,cur
item;
begin
newh:=nil;
while head<>nil do
begin
max:=head;
prev:=head;
cur:=head^.next;
while cur<>nil do
begin
if cur^.data>max^.data then
begin
max:=cur;
pmax:=prev;
end;
prev:=cur;
cur:=cur^.next;
end;
if max=head then head:=head^.next
else pmax^.next:=max^.next;
max^.next:=newh; newh:=max;
end;
Sort:=newh;
end;
[/syntax]
[syntax="pascal"]
type pitem=^item;
item=record
data:integer;
next

end;
...
function Sort(head


var newh,max,prev,pmax,cur

begin
newh:=nil;
while head<>nil do
begin
max:=head;
prev:=head;
cur:=head^.next;
while cur<>nil do
begin
if cur^.data>max^.data then
begin
max:=cur;
pmax:=prev;
end;
prev:=cur;
cur:=cur^.next;
end;
if max=head then head:=head^.next
else pmax^.next:=max^.next;
max^.next:=newh; newh:=max;
end;
Sort:=newh;
end;
[/syntax]
Нет религии выше истины