对数组中N个整数由小到大排序的几种方法
来源:互联网 发布:筑巢奖网络投票排名 编辑:程序博客网 时间:2024/05/16 08:28
这里提供两种方法:选择法和冒泡法,依次实现对数组中整数的排序问题。一:所谓选择法就是先将 N 个数中最小的数与 a[0] 对换;再将 a[1] 到 a[N - 1] 中最小的数与 a[1] 对换 ...... 每比较一轮,找出一个未进排序的数中的最小值。共比较 N - 1 轮。根据此思路编写程序如下:
#include<stdio.h>#include<windows.h>void swap(int *x,int *y){*x ^= *y;*y ^= *x;*x ^= *y;}void integer_sort(int a[],int len) //选择法{int i = 0;int count = 0;for(;i < len-1;i++){int j = i+1;for(;j < len;j++){if(a[i] > a[j]){count++;swap(&a[i],&a[j]);}}if(!count){break;}}}int main(){int i = 0;int a[] = {0,-1111,209,88,-435,-90,4,7};int sz = sizeof(a)/sizeof(a[0]);integer_sort(a,sz);for(;i < sz;i++){printf("%d ",a[i]);}printf("\n");system("pause");return 0;}
二:冒泡法的基本思路就是每次将相邻的两个数比较,将小的调到前面,容易发现经过第一趟后 N 个数中最大的那个数已下沉到最后;第二趟对前面 N-1个数进行重复操作 ...... 依次进行下去,对 N 个数进行 N-1 趟后即可得到有序的数。根据此思想编写程序如下:
#include<stdio.h>#include<windows.h>void swap(int *x,int *y){ *x ^= *y; *y ^= *x; *x ^= *y;}void integer_sort(int a[],int len) //气泡法{ int i = 0; int count = 0; for(;i < len-1;i++){ int j = 0; for(;j < len-1-i;j++){ if(a[j] > a[j+1]){ swap(&a[j],&a[j+1]); count++; } if(!count){ break; } } }}int main(){ int i = 0; int a[] = {43,29,90,6,4,56,1,2,47,100}; int len = sizeof(a)/sizeof(a[0]); integer_sort(a,len); for(;i < len;i++){ printf("%d ",a[i]); } printf("\n"); system("pause"); return 0;}
一:所谓选择法就是先将 N 个数中最小的数与 a[0] 对换;再将 a[1] 到 a[N - 1] 中最小的数与 a[1] 对换 ...... 每比较一轮,找出一个未进排序的数中的最小值。共比较 N - 1 轮。根据此思路编写程序如下:
阅读全文
0 0
- 对数组中N个整数由小到大排序的几种方法
- 用选择法对数组中10个整数按由小到大排序。
- 例7.12用选择法对数组中10个整数按由小到大排序。
- 用选择法对数组中10个整数按由小到大排序
- 用选择法对数组中10个整数按由小到大排序
- 例7.12 用选择法对数组中10个整数按由小到大排序。
- 用指针方法对10个整数按由小到大的顺序排序
- 用选择法对数组中10个整数由大到小排序
- OC中对数组排序的几种方法
- 用指针方法对10个整数由大到小排序
- 用指针方法对10个整数按由大到小的顺序排序
- 用指向指针的指针的方法对n个整数排序并输出。
- 用指向指针的指针的方法对n个整数进行排序。
- 用指向指针的方法对n个整数排序并输出。
- 对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序
- 对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序
- 对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序
- 对N行N列二维数组的每一行排序,偶数行(0当作偶数)由小到大排序,奇数行由大到小排序
- Nginx 做代理服务器时浏览器加载大文件失败 ERR_CONTENT_LENGTH_MISMATCH 的解决方案
- Error:Could not resolve all dependencies for configuration ':app:prodDebugCompileClasspath'. Cannot
- 根据ebayno爬取可见信息 本地+数据库
- 深度学习word embedding
- Android中为什么主线程不会因为Looper.loop()里的死循环卡死?
- 对数组中N个整数由小到大排序的几种方法
- springcloud实战之3 高可用服务注册中心(eureka集群)
- 常用的 APP 发布渠道
- 数据结构实验之查找七:线性之哈希表
- web.xml的配置中<context-param>配置作用
- 百万数据插入 java sql mysql
- linux下实现自动从SVN拉代码,打包
- 深入分析 Python 的垃圾回收机制
- (一) Vue 路由+子路由