排序小(新)
来源:互联网 发布:淘宝网通勤是什么意思 编辑:程序博客网 时间:2024/04/30 14:18
#include<stdio.h>void swap(int *a ,int *b)//交换{if(*a != *b){*a ^= *b;//a b a*b ^= *a;*a ^= *b;}}void maopao_sort(int a[],int n)//冒泡排序{int i,j;for(i =0 ;i< n;i++){for(j= 1;j<n-i;j++)//j = 1,到n-1{if(a[j-1]>a[j])swap(&a[j-1],&a[j]);}}}void insert_sort(int a[],int n)//插入排序{int i,j;for(i=0 ;i<n;i++){for(j=i-1;j>=0&&a[j]>a[j+1];j--){swap(&a[j],&a[j+1]);}}}void choose_sort(int a[],int n)//选择排序{int i,j,Mid;for(i = 0;i<n;i++){Mid = i;for(j =i+1;j<n;j++){if(a[j]<a[Mid])Mid = j;}//确定好了mid再进行交换swap(&a[i],&a[Mid]);//把a[i]和最小的Mid交换}}/*void quick_sort(int a[],int l ,int r)//快速排序,{if(l<r){int i= l,j = r,x= a[i];while(i<j){while(i<j && a[j]>= x) j--;if(i<j) a[i++]=a[j];while(i<j && a[i]<x) i++;if(i<j) a[j--]=a[i];}a[i] = x;quick_sort(a,l,i-1);quick_sort(a,i+1,r);}}*///快速排序c语言版本void Quick_sort(int a[],int numsize)//a是整形数组,numsize是元素个数{int i= 0,j = numsize-1;int val = a[0];//指定参考值val大小if(numsize>1)//确定数组长度至少为2,否则无需排序{while(i<j)//循环结束条件{for(;j>i;j--)//从后向前搜索比val小的元素,找到后填到a[i]中并跳出循环if(a[j]<val){a[i] = a[j];break;}for(;j>i;i++)if(a[i]>val){a[j] = a[i];break;}}a[i] = val;//讲保存在val中的数组放到a[i]中Quick_sort(a,i);//递归,对前i个数排序Quick_sort(a+i+1,numsize-1-i);//对i+1到numsize-1-i个数排序}}void print(int a[]){int i;for(i = 0;i<10;i++){printf("%d ",a[i]);}printf("排序结束\n");}void main(int argc, char **argv){int a1[10] ={9,7,8,6,4,5,3,2,1,11};int a2[10] ={9,7,8,6,4,5,3,2,1,11};int a3[10] ={9,7,8,6,4,5,3,2,1,11};int a4[10] ={9,7,8,6,4,5,3,2,1,11};//quick_sort2(a1,0,9);Quick_sort(a1,10);//quick_sort(a1,0,9);printf("快速排序:");print(a1);maopao_sort(a2,10);printf("冒泡排序:");print(a2);choose_sort(a3,10);printf("选择排序:");print(a3);insert_sort(a4,10);printf("插入排序:");print(a4);}
0 0
- 排序小(新)
- 起泡排序(冒泡排序)新理解
- 小新
- 新排序
- C++排序(小堆排序)
- 小范围排序(堆排序)
- 小范围排序(C++)
- (新)Android 汉子首字母排序
- 小排序
- 小新经典对白
- 新的小窝
- 新特性小知识
- java小练习(6)--排序 problem
- 海量小范围数据排序(位图)
- 快速排序 (解决小划分文件)
- Lucene小练十四(文件排序)
- java数组(最大、小值,排序)
- 选择排序小程序(c语言)
- LINUX 2.6 内核下多C文件模块编译方法
- springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序
- Apache Mina2实现类似QQ、飞秋的聊天功能
- ORA-01461與Oracle下幾種大容量字段類型的解釋
- 乐观锁与悲观锁 PreparedStatement与Statement区别
- 排序小(新)
- AFNetworking学习笔记1
- VC中编译生成lib文件
- 的规范的合格的话
- Android -- 利用ContentProvider 读取和写入短信
- 重新开始战斗11-编程之美-精确表达浮点数
- OC中字符串常用的操作
- shell 中使用正则表达式
- Facebook 20 亿美元收购 Oculus,下一步虚拟社交?