冒泡排序、选择排序和插入排序--由小到大,,由大到小
来源:互联网 发布:算法工程师经常加班么 编辑:程序博客网 时间:2024/06/07 00:33
//选择排序 #include <iostream>#include <stdio.h>//--------------------------------------------------------------------//从大到小排序 冒泡排序 void sort_bubble_down(int* a,int len){int temp = 0;int i = 0;int j = 0;for(i=0;i<len;i++){for(j=i+1;j<len;j++){if(a[i]<a[j]){temp = a[i];a[i] = a[j];a[j] = temp;}}}}//从小到大排序 冒泡排序 void sort_bubble_up(int* a,int len){int temp = 0;int i = 0;int j = 0;for(i=0;i<len;i++){for(j=i+1;j<len;j++){if(a[i]>a[j]){temp = a[i];a[i] = a[j];a[j] = temp;}}}} //--------------------------------------------------------------------//从小到大排序 选择排序 void sort_select_up(int* a,int len){int i = 0;int j = 0;int k = 0;for(i=0;i<len;i++){k = i; for(j=i+1;j<len;j++){if(a[k]>a[j]){k = j;}}if(i!=k) {a[i] = a[i]+a[k];a[k] = a[i]-a[k];a[i] = a[i]-a[k];}}}//从大到小排序 选择排序 void sort_select_down(int* a,int len){int i = 0;int j = 0;int k = 0;for(i=0;i<len;i++){k = i; for(j=i+1;j<len;j++){if(a[k]<a[j]){k = j;}}if(i!=k) {a[i] = a[i]+a[k];a[k] = a[i]-a[k];a[i] = a[i]-a[k];}}}//--------------------------------------------------------------------//从小到大排序 插入排序 void sort_insert_up(int* a,int len){int i = 0;int j = 0;int k = 0;int temp = 0;for(i=1;i<len;i++){k = i;temp = a[k]; for(j=i-1;j>=0;j--){if(a[j]>temp){a[j+1] = a[j];k = j;//记下移动的位置 }}a[k] = temp;//插入 }}//从大到小排序 插入排序 void sort_insert_down(int* a,int len){int i = 0;int j = 0;int k = 0;int temp = 0;for(i=1;i<len;i++){k = i;temp = a[k]; for(j=i-1;j>=0;j--){if(a[j]<temp){a[j+1] = a[j];k = j;//记下移动的位置 }}a[k] = temp;//插入 }}//--------------------------------------------------------------------int main(int argc, char *argv[]) {int array[10] = {0};int index = 0;int i = 0;printf("please input 10 number!\n");while((scanf("%d",&array[index]) != EOF)&&(getchar()!='\n')){index++;}printf("index = %d\n",index);for(i=0;i<=index;i++){printf("%dth : %d\n",i,array[i]);}printf("down...\n");sort_insert_down(array,index+1);for(i=0;i<=index;i++){printf("%dth : %d\n",i,array[i]);}printf("up...\n");sort_insert_up(array,index+1);for(i=0;i<=index;i++){printf("%dth : %d\n",i,array[i]);}return 0;}
1 0
- 冒泡排序、选择排序和插入排序--由小到大,,由大到小
- 冒泡排序 选择排序和插入排序
- 冒泡排序、插入排序和选择排序
- 冒泡排序和插入排序,选择排序
- java面试题之冒泡排序(由大到小和由小到大)
- C#冒泡排序、选择排序、插入排序和希尔排序
- 简单排序:冒泡排序、选择排序和插入排序
- 冒泡排序法(由小到大顺序):
- 由冒泡排序想到的
- 冒泡选择插入排序
- 冒泡、选择、插入排序
- 选择、插入、冒泡排序
- 冒泡、插入、选择排序
- 选择、插入、冒泡排序
- 冒泡、选择、插入排序
- 选择、冒泡、插入-排序
- 插入 选择 冒泡 排序
- 选择、冒泡、插入排序
- PAT 1007. Maximum Subsequence Sum (25)
- Java编程思想(第四版)第一章内容要点总结
- 函数对象/仿函数
- 节约内存求众数
- oracle Long数据类型总结
- 冒泡排序、选择排序和插入排序--由小到大,,由大到小
- hdu 1690 Bus System【floyd】
- hdu3613 extend-kmp(Trie入门)
- Parcelable 序列化和反序列化
- 17.ELK实时日志分析平台之Elasticsearch简介
- 阿里移动安全2015年第二季度报告
- printk打印级别
- C++扬帆远航——2
- 第一天