冒泡排序:
两数比较,将最大或最小的元素,放到最后
注意:冒泡排序稳定,最多执行n(n-1)/2次
![](https://i-blog.csdnimg.cn/blog_migrate/53a6647fe446c1830bbd97e012eb34b6.gif)
冒泡排序代码(不包括头文件):
void bubbleSort(int arr[],int len){
int i,j,temp;//定义下标和临时变量
for(i=0;i<len-1;i++){//外层循环 元素比较次数
for(j=0;j<len-i-1;j++){//内层循环 实现元素的交换
if(arr[j]>arr[j+1]){//元素大小比较
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
printf("排序后:");//提示语
for(i=0;i<len;i++){
printf("%d ",arr[i]);//输出
}
}
int main (){
int arr[15];//定义数组
for(int i=0;i<15;i++){
printf("请输入第%d个数据:",i+1);//提示语
scanf("%d",&arr[i]);//键盘录入数据
}
printf("排序前:");//提示语
for(int i=0;i<15;i++){
printf("%d ",arr[i]);
}
printf("\n"); //换行
bubbleSort(arr,15);//子函数的调用
}
![](https://i-blog.csdnimg.cn/blog_migrate/9d3da6f98934b86baa275a6de5b022b1.png)
选择排序:
选择排序 找最大或最小的元素往前放,分成 已排序和待排序序列
注意:选择排序不稳定,平均比较次数n(n-1)/2
![](https://i-blog.csdnimg.cn/blog_migrate/c3d3789472b7f3e5b472a5e659009e12.gif)
选择排序代码(不包括头文件):
void selectSort(int arr[],int len){
int i,j,temp,min;//定义下标 临时变量 最小值
for(i=0;i<len;i++){
min=i;
for(j=i+1;j<len;j++){
if(arr[j