Односвязный упорядоченный список

460
19 декабря 2016, 20:02

Составить программу, которая:

  • обеспечивает первоначальный ввод целых чисел и формирует из них упорядоченного списка;
  • затем удалить из списка отрицательные числа и удвоить положительные;
  • исходный и преобразованный список должны быть выведены на экран;

Сам я выполнил только первый пункт и то не до конца, ибо не знаю как упорядочить

#include "stdafx.h"
#include <iostream>
using namespace std;
#define list struct spisok
list
{int info;
list* next;
};
list* head;
list* first(int d)
{list *t=new list;
t->next=0;
t->info=d;
return t;
};
void insert (list** s, int x)
{
    list* t=*s;
    list* p=0;
    list *r;
    while(t!=0)
    { p=t;
    t=t->next;
    }
    r=first(x);
    if(p==0)
        *s=r;
    else
        p->next=r;
};
void display(list *s)
{ list *t=s;
while(t)
{
    cout<<t->info;
    t=t->next;
}
};

int _tmain(int argc, _TCHAR* argv[])
{int x;
cout<<"Vvedite 4isla"<<endl;
cin>>x;
head=first(x);
do
{cin>>x;
insert(& head,x);
}
while(x!=0);
display(head);
    return 0;
}
READ ALSO
Проблемы с пониманием шаблонов

Проблемы с пониманием шаблонов

ЗдравствуйтеНачал изучать шаблоны

288
Где рисовать в WinAPI

Где рисовать в WinAPI

Я написал алгоритм, по которому программа должна рисовать

327
Проверка на наличие подстроки с помощью std::regex

Проверка на наличие подстроки с помощью std::regex

ЗдравствуйтеС помощью регулярных выражений я пытаюсь проверить наличие подстроки

313