|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.05.2009, 22:52 | #1 |
Новичок
Джуниор
Регистрация: 02.05.2009
Сообщений: 1
|
Помогите дописать курсовой
требуется дописать процедуру сортировки методом пузырька двусвязный список.
Код программы: program Cursovoi; uses CRT; type plist = ^tlist; tlist = record data : integer; next, prev : plist; end; p2list = ^plist; procedure Display (list : plist); var p : plist; begin if list = nil then writeLn ('‘список пуст') else begin p := list; while p^.prev <> nil do p := p^.prev; while p <> nil do begin if p = list then write ('*'); write (p^.data, #32); p := p^.next end end end; procedure AddToEnd (list : p2list; d : integer); var prior : plist; begin prior := nil; while list^ <> nil do begin prior := list^; list := @list^^.next end; New (list^); with list^^ do begin data := d; next := nil; prev := prior end end; procedure Add (list : p2list; d : integer); var l : plist; begin if list^ = nil then begin AddToEnd (list, d); exit end; New (l); l^.data := d; l^.prev := list^; l^.next := list^^.next; (list^)^.next := l end; procedure AddToBegin (list : p2list; d : integer); var l : plist; begin if list^ = nil then begin AddToEnd (list, d); exit end; while list^^.prev <> nil do list := @list^^.prev; New (l); l^.data := d; l^.prev := nil; l^.next := list^; list^^.prev := l end; procedure SortingList(list : p2list; d : integer); begin end; var list : plist; i : integer; begin while true do begin ClrScr; writeLn ('1 - добавить в начало '); writeLn ('2 - добавить в конец'); writeLn ('3 - добавить в текущую позицию'); writeLn ('4 - sortirovka'); writeLn ('5 - exit'); writeLn ('>>>>'); writeln(#10, 'CЇЁб®Є:'); Display (list); gotoxy (5, 6); readLn (i); case i of 1: begin write ('введите число: '); readLn (i); AddToBegin (@list, i); end; 2: begin write ('введите число: '); readLn (i); AddToEnd (@list, i); end; 3: begin write ('‚введите число: '); readLn (i); Add (@list, i); end; 4: ; 5: break; end end; end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите дописать | ShnapS | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 28.05.2008 21:08 |
Помогите дописать пояснение | RECREATOR | Помощь студентам | 4 | 10.12.2007 09:07 |
Помогите дописать | Klyan | Общие вопросы C/C++ | 8 | 22.06.2007 01:55 |
Помогите дописать компонент | Mickle | Компоненты Delphi | 0 | 28.05.2007 19:41 |