typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;
LinkList InsertSort(LinkList head)
{
if(head==NUll||head->next==NUll) return;
LinkList s,p,q;
s=head->next; //前一个结点
p=s->next; //后一个结点 通过s->data与p->data做比较
while(p!=NULL)
{
if(s->data<=p->data)
{
s=s->next;
}
else
{
q=head; //每次从头开始查找
while(q->next->data<=p->data) //找到最后一个小于p->data的结点
{
q=q->next;
}
s->next=p->next; //交换结点位置顺序
p->next=q->next;
q->next=p;
}
p=s->next;
}
return head;
}
链式存储结构设计直接插入排序算法
于 2022-12-06 15:56:33 首次发布