您的位置:首页 > 理论基础 > 数据结构算法

<数据结构>单链表元素按插入方法排序实现

2014-11-03 22:40 459 查看
typedef struct node
{
int data;  //数据域
struct node *next;  //指针域 next
}linklist,*link;
void Insertsort(link L)  //插入排序函数
{
link p,q,ru;
p=L->next;    //p指针指向L的第一个节点
L->next=NULL;  // 置空链表,然后将原链表中的节点逐个插入有序表中
while(p!=NULL)  //p工作指针直到原链表末尾
{
r=L;
q=L->next;  //q指向原链表的节点
while(q!=NULL&&q->data<=p->data)  //q工作指针直到链表末尾,并且q的数据要<=p的数据
{
r=q;      //r指针指向q
q=q->next;  //q工作指针继续往后移动
}

u=p->next;    //u指针指向待插入的节点
p->next=r->next;  //然后将p连接到有序表中
r->next=p;   //连接p到有序表中
p=u;  //p工作指针指向u
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐