在 C 编程语言中,冒泡排序是最简单的排序技术,也称为交换排序。
冒泡排序过程
将第一个元素与列表中的其余元素进行比较,如果它们不按顺序进行交换(交换)。
对列表中的其他元素重复相同的操作列表,直到所有元素都已排序。
算法
下面给出的是一种算法,通过使用冒泡排序技术 –
第 1 步 – 开始
第 2 步 – 获取列表(数组),num
第 3 步− readlist(list,num)
第 4 步− printlist(list,num)
第5步 – bub_sort(list,num)
第6步 – printlist(list,num)
readlist (list, num)
登录后复制
第7步 − 停止
1. for j = 0 to num2. read list[j].
登录后复制
打印列表(列表,数字)
1. for j =0 to num2. write list[j].
登录后复制
bub_sort(列表,数字)
1. for i = 0 to num2. for j =0 to (num – i)3. if( list[j] > list[j+1])4. swapList( address of list[j], address of list[j+1])
登录后复制
swapList( list[j]的地址, list[j+1]的地址)
1. temp = value at list[j]2. value at list[j] = value at list[j+1]3. value at list[j+1] = temp
登录后复制
示例
以下是用冒泡排序技术对给定数字列表进行升序排序的C程序
演示
#include #define MAX 10void swapList(int *m,int *n){ int temp; temp = *m; *m = *n; *n = temp;}/* Function for Bubble Sort */void bub_sort(int list[], int n){ int i,j; for(i=0;i list[j+1]) swapList(&list[j],&list[j+1]); } void readlist(int list[],int n){ int j; printf("Enter the elements:
"); for(j=0;j
"); scanf("%d",&num); readlist(list,num); printf("
Elements in the list before sorting are:
"); printlist(list,num); bub_sort(list,num); printf("
Elements in the list after sorting are:
"); printlist(list,num);}
登录后复制
输出
执行上述程序时,会产生以下结果 –
Enter the number of elements10Enter the elements:11234513635691022Elements in the list before sorting are:11 23 45 1 3 6 35 69 10 22Elements in the list after sorting are:1 3 6 10 11 22 23 35 45 69
登录后复制
以上就是使用冒泡排序算法对给定的数字列表进行升序排序的C程序的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2580618.html