Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct nodo{
- int info;
- nodo *link;
- };
- void addNodoOrdinato(nodo *head,int n) {
- nodo *newNode = new nodo();
- nodo *previous = NULL;
- nodo *current = head;
- while (current != NULL && n > current->info) {
- previous = current;
- current = current->link;
- }
- if (previous == NULL) { //Se l'elemento da inserire è più piccolo della head
- nodo *newNode2 = new nodo(); //creo un nodo
- newNode2->info = head->info; //copio il valore di head in questo nuovo nodo
- head->info = n; //valorizzo la testa col nuovo valore
- head->link = newNode2; //collego la testa al nuovo nodo
- } else {
- previous->link = newNode;
- }
- newNode->link = current;
- newNode->info = n;
- }
- void display(nodo *head) {
- nodo *list = head;
- while(list->link != NULL) {
- cout << list->info << " ";
- list = list->link;
- }
- cout << list->info << " ";
- cout << endl;
- }
- int main(int argc, const char * argv[]) {
- nodo *head2 = new nodo;
- nodo *head= new nodo();
- head2=head;
- addNodoOrdinato(head,-9);
- addNodoOrdinato(head,-884);
- addNodoOrdinato(head,4);
- addNodoOrdinato(head,3);
- addNodoOrdinato(head,12);
- addNodoOrdinato(head,3);
- display(head2);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment