- 博客(0)
- 资源 (1)
- 问答 (2)
- 收藏
- 关注
排序jdl.cpp
自己做的以个c++代码:
#include<stdlib.h>
#include<stdio.h>
struct node
{
int num, score;
struct node* link;
};//结点类型声明
node* creat(int n);//链表生成函数,尾插法
void print(node* h);//输出链表
node* index(node* h)//对单链表按从小到大的顺序进行排序
{
int i = 0;
if (h == 0 || h->link == 0)//排除链表只有一项或零项的情况
{
printf("排序完毕!\n");
return h;
};
node* p, * q,*r,*s;//p代表固定的比较对象,依次把他和后面的结点q比较交换
p=s = h;
while (p->link)
{
q = p->link;
if (p->num > q->num&&p==h)
{
h = q; p->link = q->link; q->link = p;
q = p; p = h; i++;
}
else if(p->num > q->num && p != h)
{
r = q; p->link = q->link; q->link = p; s->link = q;
q = p; p = r; i++;
}
s = p;
p = p->link;
};
printf("排序完毕!");
if (i) index(h);//递归调用index
return h;
}
2019-07-21
有什么办法用字符串打开窗口吗
2022-03-30
VB.net里面怎么让图形不超出窗体边界
2022-03-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人