na razie napisalam coś takiego:
#include <iostream>using namespace std;struct lista //struktura dla listy dwukierunkowej{ int liczba;//element listy struct lista *poprzedni;//wskazuje na poprzedni element listy struct lista *nastepny;//wskazuje na nastepny element listy};int main()//bezparametrowa funkcja główna{ struct lista *glowa;//pierwszy element listy struct lista *temp;//struktura potrzebna do uzupełniania liczby struct lista *nowy;//struktura pomocnicza struct lista *pomocniczy;//struktura pomocnicza int i=0;//zmienna pomocnicza do pętli DO-WHILE int n=10;//ilość elementów listy glowa=new struct lista;//tworzenie pierwszego elementu listy glowa->nastepny=NULL; glowa->poprzedni=NULL; temp=new struct lista; nowy=new struct lista; srand(time(NULL)); //inicjacja funkcji generowania liczb losowych cout << "Program porzadkuje 10 wylosowanych liczb w kolejnosci rosnacej"; cout << " korzystajac z listy dwukierunkowej oraz metody sortowania przez"; cout << " wstawianie. Zostanie wyswietlona nieposortowana lista. Na koncu"; cout << " zostanie wyswietlona posortowana lista.\n\n"; //Uzupełnianie listy liczbami losowymi: do { nowy=new struct lista; temp=new struct lista; nowy->liczba=1+rand()%100; nowy->nastepny=NULL; temp=glowa; while(temp->nastepny!=NULL) temp=temp->nastepny; temp->nastepny=nowy; nowy->poprzedni=temp; i++; } while(i<n); cout << "Nieposortowana lista: \n"; temp=glowa->nastepny; for(int i=0;i<n;i++) ///wyświetlanie nieposortowanej listy { cout << temp->liczba << " "; if(temp->nastepny!=NULL) temp=temp->nastepny; } //Sortowanie (niedokończone) for(int i=0; i<n; i++) { pomocniczy=new struct lista; nowy=new struct lista; nowy=temp; pomocniczy=temp->poprzedni; //while() if(temp->nastepny!=NULL) temp=temp->nastepny; } temp=glowa->nastepny; for(int i=0;i<n;i++) ///wyświetlanie posortowanej listy { cout << temp->liczba << " "; if(temp->nastepny!=NULL) temp=temp->nastepny; } cout << "\n\nDziekuje, program zakonczyl dzialanie...\n\n"; system("pause"); return 0;}
Problem z programem:
1. Coś mam nie tak zaimplementowaną listę, bo w głowie siedzą śmieci
2. nie mam pojęcia, jak tutaj zaimplementować algorytm sortowania przez wstawianie