C语言排序算法汇总 - 朱岩松博客

朱岩松博客

记录
点滴生活
首页>> 学习笔记 >>C语言排序算法汇总 - 朱岩松博客

本文仅为学习笔记,不做详细讲解。


#include <stdio.h>

//冒泡排序
//int arr[10]={6,1,3,4,2,5,7,8,9,0}
/*
外层循环每次共计循环n-1次
内层循环每次以当前位置和下一个位置的元素对比如果不符合条件就调换位置,直到排序完成
每次循环都要遍历整个arr。
*/

void maopao(){
	int arr[10]={6,1,3,4,2,5,7,8,9,0};
	for(int i=0;i<9;i++){
		for(int j=0;j<10-i-1;j++){
			if(arr[j]>arr[j+1]){
				int temp;
				temp=arr[j];
				arr[j]=arr[j+1];
				arr[j+1]=temp;
			}
		}
	
	}
	for(int k=0;k<10;k++){
		printf("%d",arr[k]);
	}
}

//选择排序
//int arr[10]={6,1,3,4,2,5,7,8,9,0}
/*
外层循环共计循环n-1次
内层循环每次都要外层循环当前位置之后的最小值,然后将最小值放在外层循环的当前位置。
*/


void select(){
int arr[10]={6,1,3,4,2,5,7,8,9,0};
for(int i=0;i<10;i++){
	int minIndex=i;
	int min=arr[i];
	for(int j=i+1;j<10;j++){
		if(min>arr[j]){
			minIndex=j;
			min=arr[j];
		}
	}
	arr[minIndex]=arr[i];
	arr[i]=min;
}
for(int k=0;k<10;k++){
		printf("%d",arr[k]);
	}
}

//简单选择排序
//int arr[10]={6,1,3,4,2,5,7,8,9,0}
/*
外层循环共计进行arr[n] n-1次
内层循环以当前外层循环的值为参照,如果小于外层循环的值则交换两者位置。
*/


void easySelect(){
int arr[10]={6,1,3,4,2,5,7,8,9,0};
for(int i=0;i<9;i++){
	for(int j=0;j<10;j++){
		if(arr[i]<arr[j]){
			int temp;
				temp=arr[i];
				arr[i]=arr[j];
				arr[j]=temp;
		}
	}
}
for(int k=0;k<10;k++){
		printf("%d",arr[k]);
	}
}

void main(){
//maopao();
//select();
//easySelect
}


×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在


版权所有,转载注意明处:朱岩松博客 » C语言排序算法汇总
标签: 编程 学习心得 C语言 冒泡排序 算法 数据结构

发表评论

路人甲
未显示?请点击刷新

网友评论(0)