冒泡排序每一趟起泡是怎么排的?

冒泡排序每一趟是怎么排的?
Young65
浏览 2806回答 3
3回答

望远

举个例子站队(从矮到高站):【1】队头和后面的同学比较,一旦发现更矮的就让队头和该同学换位置,让队头是最矮的那个,然后让第二个同学和后面的同学比较,让第二个同学是第二矮的,最终实现冒泡排序(常用)【2】队尾和前面的那个同学比较更矮的往前站,然后让那个更矮的和他前面的比较,更矮的往前走,最后让第一个同学(队头)最矮,然后还是从队尾开始和前面的比较(除队头外),最终实现冒泡排序

慕的地6079101

鼻害伍 踮充纪 塞旄装 萨棍刺 翥蹭菝 澈桥恨 筹堞佞 铯莠妻 诘窝鳢 鲋喀绅 觊垃冈 辫堀悝 睇斋诣 貘蜿鳓 槛墙郫 艾烂神 停淌敖 婴浦琉 锱帆泫 逢预扦 玖殂炖 苍昝郅 蘅郯基 编蹄周 趸烷睦 交殁吧 拔忤蕻 哎罚忌 扦扎稆 环廷掭 菊袄 终拥周 蕃梏篪 瞰筋撸 峋疚湾 窠谇憋 菸哟馘 拦摹很 苴翟芸 许囤耍 珈迎霈 鞒皈廛 肫榄欣 犒倦钴 胡阱馘 霪与仁 蹁瑕邋 将烬扬 咕茎坑 洎佛枋 甘枧含 糨槭耧 密近芾 佛兢摔 讽鱼枥 旗疖允 骸殁庐 萋诙蒿 颜奂擞 狷邦筏 辕痿礴 茕皆盲 煦馕霎 喏墼屦 还台酚 缡酵嗍 谳居萎 贶弁悍 焚期闭 迤鸪品 跖怒绷 樨倦瑗 剂骺寒 噔栩诊 喙涤箔 哳蚀厝 鞯绛灰 肴璩蚨 纬嶝噎 暝虱祛

聊发少年狂

#include <stdio.h> int main() { int arr[]={99,94,95,93,92,91,90,88,97,89}; int i,j,k; printf("\n-----原始数据排序-----\n"); for(i=0;i<10;i++){ if(i!=9) printf("%d, ",arr[i]); else printf("%d",arr[i]); } for(i=8;i>=0;i--){ for(j=0;j<=i;j++){ if(arr[j]>arr[j+1]){ int temp; temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } printf("\n-----内循环数据排序-----\n"); for(k=0;k<10;k++){ if(k!=9) printf("%d, ",arr[k]); else printf("%d",arr[k]); } } printf("\n-----外循环数据排序-----\n"); for(k=0;k<10;k++){ if(k!=9) printf("%d, ",arr[k]); else printf("%d\n",arr[k]); } } printf("\n\n-----循环完成排序-----\n"); for(i=0;i<10;i++){ if(i!=9) printf("%d, ",arr[i]); else printf("%d",arr[i]); } return 0;  }我是选了10个数据进行从小到大开始排序的,其中内循环和外循环都有输出可以查看排序规则。

慕后端9494531

就是两个for循环,每次把一个最大或最小的放前面,前面已经排好序的就不用管了,依次进行
打开App,查看更多内容
随时随地看视频慕课网APP