☰
【C语言学习】冒泡排序与选择排序详解及代码实战
2026/10/1 10:21:28 网站建设 项目流程

上一期讲解了C语言排序的一些知识点,这一期要介绍冒泡排序和选择排序两种排序方式,包括注意点和代码。

一、冒泡排序

冒泡排序:相邻的元素两两比较,大的放右边,小的放左边。
1.第一轮比较完毕后,max确定
2.如果数组中有n组数组,总共执行n-1轮代码
双循环本质:把内循环重复执行n次
内循环:找到本次循环的max,把max放最右边
外循环:把上面这个动作循环len-1

例题:把 3,5,2,1,4利用冒泡排序从小到大排序

#include<stdio.h>intmain(){intarr[]={3,5,2,1,4};intlen=sizeof(arr)/sizeof(int);for(inti=0;i<len-1;i++){for(intj=0;j<len-1-i;j++){if(arr[j]>arr[j+1]){inttemp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}for(inti=0;i<len;i++){printf("%d",arr[i]);}return0;}

二、选择排序

1.从0索引开始,跟后面元素一一比较
2.小的放前面,大的放后面
3.第一轮循环结束后,min已经确定
4.第二轮从1索引开始依此类推

例题:把 3,5,2,1,4利用选择排序从小到大排序

#include<stdio.h>intmain(){intarr[]={3,5,2,1,4};intlen=sizeof(arr)/sizeof(int);for(inti=0;i<len-1;i++){for(intj=i+1;j<len;j++){if(arr[i]>arr[j]){inttemp=arr[i];arr[i]=arr[j];arr[j]=temp;}}}for(inti=0;i<len;i++){printf("%d",arr[i]);}return0;}

下一期将讲解C语言指针部分的内容

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询