|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.05.2010, 17:45 | #1 |
Пользователь
Регистрация: 31.03.2010
Сообщений: 23
|
двусвязный список на си++
Вот я пробовал писать односвязный, подскажите как переделать в двусвязный очень прошу, он не работает, тут ошибки связзанные с незнанием мной сути организации 2связного списка. Этот исходник недоделанный мной 2связный...вообщем прошу поиощи и пожалуйста растолкуйте суть работы такого списка. Наперед благодарен вам)
#include <stdio.h> #include <stdlib.h> #include <conio.h> #define N 10 struct Item { int x; Item *next; Item *prev; }; Item *create (int n) { Item *List=new Item; Item *p=List; Item *p1=List; for (int i=1; ;i++) { p->x=rand()%10; if (i==n) break; p->next=new Item; p=p->next; //p1->prev=new Item; p1=*Item; *prev=p1; } p->next=NULL; return List; } void show(Item*List) { while (List) { printf("%d ", List->x); List=List->next; } } void show1(Item*List) { while (List) { printf("%d ", List->x); List=List->prev; } } void remove(Item*List) { while (List) { Item *p=List->next; delete List; List=p; Item *p1=List->prev; delete List; List=p1; } } void remove1(Item*List) { while (List) { Item *p1=List->prev; delete List; List=p1; } } int main() { Item*List=create (N); show(List); remove(List); show1(List); remove1(List); getch(); } |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
двусвязный список | klykovka | Помощь студентам | 8 | 22.05.2010 18:58 |
Java, двусвязный список | Halifath | Помощь студентам | 0 | 07.05.2010 15:06 |
Создать двусвязный список | "POSTAL" | Помощь студентам | 1 | 21.04.2010 02:04 |
Двусвязный список | kruserg | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 28.04.2009 10:37 |