сортировка односвязного списка 3

229
11 января 2018, 22:30

Реализован линейный односвязный список. Как его можно отсортировать вставками? Как реализовать функцию void Sort()? Например нужно в обратном порядке все поставить?

using namespace std;
struct element 
{
 int x; 
 element *Next; 
};
class List 
{
 element *Head; 
 public:
  List() {Head=NULL;} 
 ~List(); 
 void Add(int x); 
 void Show(); 
 void Sort();
};
List::~List() 
{
    while (Head!=NULL)  
     {    
        element *temp=Head->Next; 
        delete Head; 
        Head=temp; 
     }
}
void List::Add(int x) 
{
 element *temp=new element; 
temp->x=x; 
temp->Next=Head; 
Head=temp; 
}
void List::Show() 
{
 element *temp=Head; 
 while (temp!=NULL) 
 {
  cout<<temp->x<<" "; 
  temp=temp->Next; 
 }
}
int main()
{
  int N; 
  int x; 
  List lst; 
   cout<<"N = ";cin>>N; 
for (int i=0;i<N;i++)
 {
  cout<<i+1<<". x = "; cin>>x; 
  lst.Add(x); 
 }
lst.Show(); 
}
READ ALSO
Как изменить указатель на объект? - С++

Как изменить указатель на объект? - С++

Я создаю 2 объекта разных классов, и указатель на какой-либо объектhttp://snap

221
Ошибка:Segmentation fault (core dumped): как можно исправить (Shared Memory) C++

Ошибка:Segmentation fault (core dumped): как можно исправить (Shared Memory) C++

Ошибка слишком проста - Вы пытаетесь обращаться к объекту, который не создали

266
Зачем нужны вложенные интерфейсы?

Зачем нужны вложенные интерфейсы?

Прогуливаясь по чужим кодам наткнулся на Класс, который содержит внутри интерфейсы:

280
Проход по двум коллекциям в Java 8 stream api

Проход по двум коллекциям в Java 8 stream api

Встал вопрос, как переписать проход по двум разным коллекциям с присвоением данных под Java 8 Stream api

212