#include<iostream>
#include<string>
using namespace std;
struct Node
{
int val;
Node *next;
};
Node *head = NULL;
void insertHead(int val)
{
Node *newNode = new Node;
newNode->val = val;
newNode->next = head;
head = newNode;
}
void printList(Node *head)
{
if(head != NULL) {
while( head != NULL )
{
cout << head->val << " ";
head = head->next;
}
cout << endl;
}
}
void BubbleList(Node *head) {
if(head != NULL) {
Node* previous;
Node* first;
Node* second;
bool swapped = true;
while(swapped) {
previous = NULL;
first = head;
second = head->next;
while(second != NULL) {
if( first->val > second->val) { //trzeba zamienic
previous->next = second;
first->next = second->next;
second->next = first;
}
else
swapped = false;
previous = first;
first = second;
second = second->next;
}
}
}
}
int main()
{
insertHead(2);
insertHead(3);
insertHead(4);
insertHead(5);
printList(head);
BubbleList(head);
printList(head);
return 0;
}
Witam, chce napisac sortowanie bąbelkowe listy. Tyle stworzyłem do tej pory. cos jednak nie działa. Mogłby ktoś wskazać bład?