Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
1

Linked List na C

13.01.2010, 12:43. Показов 3380. Ответов 12
Метки нет (Все метки)

kak perevernut na C LinkedList
esli mo0jno kod pojaluista.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2010, 12:43
Ответы с готовыми решениями:

Ошибка при компиляции в RAD Studio XE (linked list)
Суть вот. Изучаю структуру линкед лист , самая простенькая программка , ошибок в синтаксисе...

C-style Linked List
Итак, изучал я, значит, C-style Linked List (не знаю, как будет по-русски) и столкнулся с такой...

Linked List описание
/*!Begin Snippet:filebegin*/ #ifndef _LINKEDLIST_H_ #define _LINKEDLIST_H_ using namespace...

Linked List класс
Ребят! Помогите пожалуйста найти ошибку! Я все написал, но чтобы я не делал выбрасывает с...

12
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 15:47 2
ReKu!5s1vN0 M0WHO
0
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
13.01.2010, 19:50  [ТС] 3
это то понятно ,да и я попросил код если можно
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 20:04 4
код нельзя. могу алгоритм словами описать. он простой.
0
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
13.01.2010, 20:30  [ТС] 5
и почему код нельзя?)))
ну давай хоть алгоритм))
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 20:44 6
Цитата Сообщение от lifestyle Посмотреть сообщение
и почему код нельзя?)))
у меня готового кода нет - а писать - лень.

Цитата Сообщение от lifestyle Посмотреть сообщение
ну давай хоть алгоритм))
ну слушай: обходить список будем рекурсивной функцией. когда дойдём до последнего элемента списка - сделаем его первым элементом и начнём "разматывать" рекурсию. с каждым возвратом из рекурсии будем добаввлять к нашему новому первому элементу ( в конец его ) новые оставшиеся элементы. вот так то.
1
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
13.01.2010, 20:59  [ТС] 7
а что циклом таким же макаром нельзя сделать??
Цитата Сообщение от zim22 Посмотреть сообщение
удем добаввлять к нашему новому первому элементу ( в конец его ) новые оставшиеся элементы.
что то туплю не совсем понял )))
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 21:05 8
Цитата Сообщение от lifestyle Посмотреть сообщение
а что циклом таким же макаром нельзя сделать??
любой цикл можно заменить рекурсией. и наоборот.

Цитата Сообщение от lifestyle Посмотреть сообщение
что то туплю не совсем понял )))
ну вот смотри. мы сейчас на последнем элементе (прямой ход рекурсии). делаем его первым элементом нашего нового списка. и делаем return. и теперь мы находимся на один уровень выше в рекурсивных вызовах функции. (т.е. на n-1 элементе списка). и этот n-1 элемент мы должны теперь сделать вторым элементом нового списка. после этого БАЦ и мы оказываемся ещё на один уровень выше по рекурсивным вызовам (return ещё один сработал). Теперь мы на n-2 элементе. Делаем его 3 элементом нового списка. ну и т.д.
1
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
13.01.2010, 21:30  [ТС] 9
интересно б было посмотреть прмиер на СИ а то я на JAVA пишу.впринципе я так и подозревал ,что по этому принципу работает ...
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 21:40 10
нашёл афигенную функцию. сам не знаю, как работает
http://www.faqs.org/qa/qa-9150.html

C++
1
2
3
4
5
6
7
8
9
10
11
12
Node *Reverse (Node *p) 
{ 
   Node *pr = NULL; 
   while (p != NULL) 
   { 
      Node *tmp = p->next; 
      p->next = pr; 
      pr = p; 
      p = tmp; 
   } 
   return pr; 
}
эта функция возвращает новый (перевёрнутый) список. но исходный список она портит.
1
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
13.01.2010, 21:47  [ТС] 11
хм а что означает -> ????))))
0
depict1
281 / 146 / 4
Регистрация: 11.07.2009
Сообщений: 606
13.01.2010, 22:01 12
Цитата Сообщение от lifestyle Посмотреть сообщение
хм а что означает -> ????))))
разыменование указателя и обращение к полю структуры

C++
1
2
3
4
struct S { int x; double y; };
S *ptr;
ptr->x = 10; // одно и тоже, просто разные формы записи
(*ptr).x = 10; // одно и тоже
1
Mobile Developer
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
13.01.2010, 22:31  [ТС] 13
а по русски?))

Добавлено через 11 минут
все разобрался) понял и как та функция работает но ест ьодно НО. ка кта функция переварачивает все НОДЫ??ктом уже по ссылке еще и написано что нетребут рекусривного подхода...
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2010, 22:31

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Template double linked list C++
Пытался реализовать шаблон класса двусвязный список, элементарами которого является класс...

Связанный список (Linked list).
Добрый день. Вот пишу функцию (в коде название - smash), которая бы из текущего списка создавала 2...

Проверить программу с linked list
Есть программа, но уверен много недочётов - сам не вижу. Например, правильно ли описаны private...

Нужен совет - как сделать circular linked list?
Доброго всем времени суток!!! У меня программа которая считает queue, мне необходимо сделать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.