值得浏览的国外网站,网站建设的源代码,360做网站吗,怎么给网站制作二维码冒泡排序 一种典型的交换排序 类似水冒泡#xff0c;大元素经不断的交换由水底慢慢的浮出 从头到尾#xff0c;循环比较两相邻的元素 大的元素移到后面#xff0c;小的放前面-每次循环#xff0c;大的元素会排到最后 代码如下#xff1a;
#includestdio.h
…冒泡排序 一种典型的交换排序 类似水冒泡大元素经不断的交换由水底慢慢的浮出 从头到尾循环比较两相邻的元素 大的元素移到后面小的放前面-每次循环大的元素会排到最后 代码如下
#includestdio.h
#includestdlib.h
//升序排序
void Bubble_sort(int a[], int size){int i,j,temp;for(int i0 ; isize-1 ;i) //size-1 : 不用和自己比较{int flag 0;//比较记号//在a[0]到a[size-i-1]之间比较将最大的数放最后即a[size-i-1]for(int j0 ; jsize-i-1 ; j) {if(a[j] a[j1])//比较大的在后面{temp a[j]; a[j] a[j1]; a[j1]temp;flag 1;}}//若flag为0,则在该轮次没有交换动作说明排序已经完成break跳出循环if(flag 0 ) break; }
}void main()
{ int a[10];printf(输入10个整形数据整数);for(int i0;i10 ; i)scanf(%d,a[i]); Bubble_sort(a,10); //排序处理printf(排序后的数组\n);for(int i0;i10 ; i)printf(%d ,a[i]); system(pause);//屏幕暂停
}简单选择排序 简单选择排序Select Sort示意图如下图所示。 代码如下
#includestdio.h
#includestdlib.hvoid SelectSort(int arr[],int n){//minIndex用于记录每一趟中最小元素的下标int i,j,temp,minIndex;/*外层循环用于控制第1层到第n-1轮排序第i轮循环时后面部分的元素的下标范围为(i-1) 到 (n-1)*/for( i1; in ; i ){//将后面(未排序)部分的第1个元素赋予minIndexminIndex i-1;for(j i ; j n ; j ){ //找到本轮循环中最小元素if( arr[j]arr[minIndex] ){ minIndex j;}}//若本轮中最小的元素不是后面部分的第1个元素则需要交换元素if(minIndex ! i-1 ){temparr[minIndex]; arr[minIndex]arr[i-1]; arr[i-1]temp;}}
}void main(){ int a[10];printf(输入10个整形数据整数);for(int i0;i10 ; i)scanf(%d,a[i]); SelectSort(a,10); //排序处理printf(排序后的数组\n);for(int i0;i10 ; i)printf(%d ,a[i]); printf(\n);system(pause);//屏幕暂停
}