Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.10.2009, 21:21   #1
F_A_N_Alex
 
Регистрация: 01.10.2009
Сообщений: 9
Радость Си. Кольцевой список

Что нужно поменять,чтобы новые елементы добавлялись не в конец списка, а в начало?

Код:
void List::Insert_end_list_2(int &x)
{
    Plist pt_new;
    pt_new=new Node;
    pt_new->data=x;
    if(last==NULL) last=pt_new;
 
    else pt_new->next=last->next;
    last->next=pt_new;
    last=pt_new;
 
}

Последний раз редактировалось Stilet; 05.10.2009 в 10:20.
F_A_N_Alex вне форума Ответить с цитированием
Старый 05.10.2009, 10:22   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Для начала нужно хранить в переменке первый элемент, после чего типа такого:
голва->предидущий=новый
Новый->следующий=голова
Голова=новый
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.10.2009, 00:36   #3
F_A_N_Alex
 
Регистрация: 01.10.2009
Сообщений: 9
По умолчанию

список кольцевой односвязный
F_A_N_Alex вне форума Ответить с цитированием
Старый 06.10.2009, 08:20   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Раз уж ты попросил пояснить мне в личке, поясню на примере (Борланд С++)
Код:
//---------------------------------------------------------------------------

#pragma hdrstop

#include <tchar.h>
#include <iostream.h>
//---------------------------------------------------------------------------

#pragma argsused
struct tag { // pt
	int data;
	tag *next,*prev;
} ;
 tag *first;
void ins(int i){
 tag *ok=new tag;
 ok->data=i; // наполняем данные
 ok->next=first; // указываем что следующий элемент будет верхним
 ok->prev=NULL; // Предидущий элемент не существует
 first->prev=ok; // Прикрепляем к голове созданный элемент
 first=ok; // Указываем что прикрепленный элемент теперь голова

}
int _tmain(int argc, _TCHAR* argv[])
{
 first = new tag;
 first->data=9;
 first->next=NULL;
 first->prev=NULL;

 ins(1);ins(2);ins(3);ins(4);
 tag *t;
 for (t=first; t!=NULL;) {
  cout<<t->data<<"\t";
	t=t->next ;
 }

 cin.get();
	return 0;
}
//---------------------------------------------------------------------------
Так понятнее?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КОЛЬЦЕВОЙ ОДНОСВЯЗНЫЙ СПИСОК __FIRST__ Помощь студентам 0 01.11.2008 17:16
Кольцевой список counter Общие вопросы C/C++ 4 20.10.2008 08:09
Кольцевой список blade288 Помощь студентам 3 02.12.2007 20:53
Кольцевой односвязный список jukk Общие вопросы Delphi 3 22.12.2006 12:10