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

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

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2010, 14:40   #1
btf
Пользователь
 
Регистрация: 03.12.2009
Сообщений: 25
По умолчанию Сортировка односвязного списка

Есть класс списка:
Код:
struct node
{
int value;
node *next;
};

class cList
{
public:
 cList();
 ~cList();

 void Add(int value);
 void Delete();
 void DeleteAll();
 void Print();
 int GetCount() const;

private:
 node *Head;
 node *Tail;

 int itsCount;
};

cList::cList()
{
Head=Tail=NULL;
itsCount=0;
}

cList::~cList()
{
DeleteAll();
}

void cList::Add(int value)
{
node *temp=new node;

temp->value=value;
temp->next=NULL;
if(Head!=NULL)
 {
 Tail->next=temp;
 Tail=temp;
 }
else
 {
 Head=Tail=temp;
 }
itsCount++;
}

void cList::Delete()
{
if(itsCount>0)
 {
 node *temp=Head;

 Head=Head->next;

 delete temp;

 itsCount--;
 }
else
 {
 cout<<"!!!ERROR: The list is empty. Nothing to delete!\n";
 }
}

void cList::DeleteAll()
{
if(itsCount>0)
 {
 while(Head!=NULL)
 Delete();
 }
else
 {
 cout<<"!!!ERROR: The list is empty. Nothing to delete!\n";
 }
}

void cList::Print()
{
if(itsCount>0)
 {
 node *temp=Head;

 while(temp!=NULL)
  {
  cout<<temp->value<<" ";
  temp=temp->next;
  }

 cout<<"\n\n";
 }
else
 {
 cout<<"The list is empty\n";
 }
}

int cList::GetCount() const
{
return itsCount;
}
Надо добавить сюда метод сортировки списка, основанный на перестановке 2ух соседних элементов местами. Причем перестановка должна быть реализована 2мя спосабами: обмен адресами и обмен значениями.
Расскажите, а если не трудно, то и напишите код(желательно с комментариями) как это сделать.
btf вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сортировка списка 4ika Общие вопросы C/C++ 3 27.11.2009 20:38
Сортировка списка DOJ Общие вопросы C/C++ 3 23.08.2009 19:36
Cортировка односвязного списка alesfoss Общие вопросы C/C++ 3 30.03.2009 19:46
Сортировка списка Рамик Помощь студентам 4 11.03.2009 14:01
Сортировка списка Александр из Перми Microsoft Office Excel 3 27.01.2007 22:46