给定任意n个整数,按由大到小排序,并输出结果
您好,蔡蔡就为大家解答关于给定任意n个整数,按由大到小排序,并输出结果相信很多小伙伴还不知道,现在让我们一起来看看吧!
1、数组形式。
2、解题思路: 判断比较的躺数,每趟相邻的两个数再进行比较,应用两次 for 循环具体代码:void PrintArr(int* arr, int sz){int i = 0;for (i = 0; i < sz; i++){printf("%d", *(arr + i));} return 0;}void BubbleSort(int arr[],int sz){int i = 0;for (i = 0; i < sz - 1; i++){int j = 0;for (j = 0; j < sz - i - 1; j++)//用for循环的元素个数控住多少趟{if (arr[j] > arr[j + 1]){int tmp = arr[j];arr[j] = arr[j+1];arr[j + 1] = tmp;}}}}int main(){int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };int sz = sizeof(arr) / sizeof(arr[0]);BubbleSort(arr, sz);PrintArr(arr, sz);system("pause");return 0;}2、指针形式。
3、创建两个变量start、end,记住数组起始与结束位置元素的地址,应用两次 while 循环交换地址指针冒泡排序 :void PrintArr(int* arr, int sz){int i = 0;for (i = 0; i < sz; i++){printf("%d", *(arr + i));} return 0;}void BubbleSort(int *arr, int sz){int start = arr;int end = arr + sz - 1;//趟数while (start < end){int *cur = start;while (cur < end){if (*cur > *(cur+1)){int tmp = *cur;*cur = *(cur + 1);*(cur + 1) = tmp;}cur++;}end--;}}int main(){int arr[10] = { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };int sz = sizeof(arr) / sizeof(arr[0]);BubbleSort(arr, sz);PrintArr(arr, sz);system("pause");return 0;}扩展资料:算法原理冒泡排序算法的原理如下:比较相邻的元素。
4、如果第一个比第二个大,就交换他们两个。
5、对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。
6、在这一点,最后的元素应该会是最大的数。
7、针对所有的元素重复以上的步骤,除了最后一个。
8、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
本文就讲到这里,希望大家会喜欢。
更多知识
-
狗狗生病了如何喂药?口服方法?分享简单实用的方法!
原标题:狗狗生病了如何喂药?口服方法?分享简单实用的方法! 狗...朕略傻 221 阅读
-
楼市大消息!房主买家各收1.5%,这个省会城市出手了!
原标题:楼市大消息!房主买家各收1.5%,这个省会城市出手了! 继...Rose情调※ 295 阅读
-
6月,带你“种草”乐山非遗!
原标题:6月,带你“种草”乐山非遗! 关于“非遗”,你了解多少...我真窝囊 265 阅读
-
伊朗要与多国组建新海军联盟 美国慌了:违背情理
原标题:伊朗要与多国组建新海军联盟 美国慌了:违背情理 伊朗军...臫欺欺亼 279 阅读
-
【环时深度】神十五乘组凯旋,哪些“神器”护航?
原标题:【环时深度】神十五乘组凯旋,哪些“神器”护航? 【环球...俄只是俄ゅ 309 阅读
-
果然紧跟!美印太司令部发声炒作中国导弹驱逐舰逼退美舰“不安全”
原标题:果然紧跟!美印太司令部发声炒作中国导弹驱逐舰逼退美舰“不安全” ...年少纵马且长歌 278 阅读
-
西甲大结局:巴萨夺冠压皇马 莱万金靴格刀助攻王
原标题:西甲大结局:巴萨夺冠压皇马 莱万金靴格刀助攻王 北...贤↘内助 300 阅读
-
被羁押22年后身患癌症,河北廊坊灭门案被告原伟东申请现场出庭被拒
原标题:被羁押22年后身患癌症,河北廊坊灭门案被告原伟东申请现场出庭被拒 ...回忆湿了眼 242 阅读
撰写回复