博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构-冒泡法排序
阅读量:4923 次
发布时间:2019-06-11

本文共 1524 字,大约阅读时间需要 5 分钟。

程序运行截图如下:

程序代码如下:

1 #include 
2 #include
3 #include
4 #define MAXSIZE 20 5 typedef int KeyType; 6 typedef char InfoType; 7 8 //结构体定义 9 typedef struct {10 KeyType key;11 InfoType otherinfo;12 }RedType;13 typedef struct {14 RedType r[MAXSIZE+1];15 int length;16 }SqList;17 18 //各个函数定义19 void print(SqList *L);20 void init(SqList *L);21 void BubbleSort(SqList *L);22 23 //初始化,随机产生待排序的数组24 void init(SqList *L) {25 int n,i;26 printf("请输入待排序的元素个数:");27 scanf("%d",&n);28 srand(((int)time(0)));//设置随机种子29 for(i=1; i<=n; i++) {30 L->r[i].key = rand()%10+1;31 }32 L->length = n;33 printf("随机产生的待排数组为:");34 print(L);35 printf("\n");36 }37 38 //输出数组元素39 void print(SqList *L) {40 int i;41 for(i=1; i<=L->length; i++) {42 printf("%d ",L->r[i].key);43 }44 printf("\n");45 }46 47 //进行冒泡排序48 void BubbleSort(SqList *L) {49 int i,j,t;50 for(i=1; i<=L->length;i++) {51 for(j=i+1; j<=L->length; j++) {52 if(L->r[j].key < L->r[i].key) {53 L->r[0] = L->r[j];54 L->r[j] = L->r[i];55 L->r[i] = L->r[0];56 }57 }58 printf("第%d次排序的结果为:",i);59 print(L);60 }61 printf("\n");62 }63 64 //主函数65 int main()66 {67 SqList sq;68 init(&sq);69 BubbleSort(&sq);70 printf("排序之后的数组为:");71 print(&sq);72 return 0;73 }

 

转载于:https://www.cnblogs.com/chengzi123/p/4364045.html

你可能感兴趣的文章
vector和list的区别
查看>>
[LeetCode] 127. Word Ladder _Medium tag: BFS
查看>>
20172302 《程序设计与数据结构》第四周学习总结
查看>>
FZU 2086 餐厅点餐(枚举)
查看>>
HDU 2188 悼念512汶川大地震遇难同胞——选拔志愿者(基础巴什博奕)
查看>>
多态,虚函数
查看>>
Could not obtain information about Windows NT group/user 'xxxx\xxxx', error code 0x5
查看>>
get_locked_objects_rpt.sql
查看>>
基于SignalR的消息推送与二维码描登录实现
查看>>
jquery 绑定事件
查看>>
排序之快速排序
查看>>
单调队列&单调栈归纳
查看>>
新安装的jdk,不知道为啥一直走别的jdk路径
查看>>
leetcode 9. Palindrome Number
查看>>
2018/1/9 redis学习笔记(一)
查看>>
协程 - 单线程并发--day36
查看>>
oracle存储过程遇到的问题
查看>>
如何使用WPS从正文开始页码为1,而不是从目录开始?
查看>>
C# Select
查看>>
【转】关于Scapy
查看>>