数据结构(三) 单链表的排序 ----按插入方法排序(带头节点)

//链表的排序    ---------按插入方法排序
//算法思想:先把头节点断掉,然后判断第一个数和第二个数的大小,如果第一个数小于第二个数,那么进入循环,找到排好序的最后一个,如果没有,那么将头节点连上那个节点 
void insertSort(struct Node *head)
{
struct Node *p1,*p2,*p3,*p4,*p5;
p1 = head->next;
head->next = NULL;
while(p1!=NULL)
{
p4 = head;
p3 = head->next;
while(p3!=NULL&&p3->datadata)
{
p4 = p3;
p3 = p3->next;
}
p5 = p1->next;
p1->next = p4->next;
p4->next = p1;
p1 = p5;
}

你可能感兴趣的:(数据结构系列)