单向链表排序问题
1 typedef struct node 2 { 3 int data; 4 struct node* next; 5 }Node; 6 void 7 sortList(Node* head, int n) 8 { 9 Node* p, *q; 10 11 for(int i=0; i<n;i++) 12 { 13 P=head->next; 14 q=p->next; 15 for(int j=0; j<n-i-1;j++) 16 { 17 18 if(p->data > q->data) 19 { 20 int tmp; 21 tmp=p-data; 22 p-data=q->data; 23 q->data=temp; 24 } 25 p=p->next; 26 q=q->next; 27 } 28 } 29 }
链表排序:基本思想是选择排序