简单排序算法
来源:互联网 发布:mac怎么打拼音 编辑:程序博客网 时间:2024/06/03 21:08
简单排序算法
<1>冒泡算法:
#include <iostream>#define N 5using namespace std;void fun(int a[],int m);int main(void){int i;int a[N] = {85,56,32,58,12};fun(a,N);for (i = 0;i < N;i++) cout << a[i] << ' ';return 0;}void fun(int a[],int m){int i,j,temp;for (i = 0;i < m-1;i++) for (j = i+1;j < m;j++) if (a[i] > a[j]) //升序排序 { temp = a[i]; a[i] = a[j]; a[j] = temp;}}/**冒泡算法多用于没有排序的数列,对其进行有序排列*/<2>插入算法:
#include <iostream>#define N 10using namespace std;void fun(int a[],int m);int main(void){ int i; int a[N] = {1,2,3,5,6,7,8,9,10}; fun(a,N); for (i = 0;i < N;i++) cout << a[i] << ' '; return 0;}void fun(int a[],int m){ int i,j,n; n = 4; //要插入的数 for (i = 0;i < m;i++) if (a[i] > n) break; for (j = m-2;j >= i;j--) // 插入适当的位置,使得数列仍按升序排列 a[j+1] = a[j]; a[i] = n;}/**插入算法多用于已经按升序或降序排列的有序数列,插入一个数后仍按升序或降序排列*/<3>简单选择排序法:
#include <iostream>#define N 10using namespace std;void fun (int a[],int m);int main (void){ int i; int num[N] = {7,9,2,5,0,3,1,4,6,8}; fun(num,N); for (i = 0;i < N;i++) cout << num[i] << ' '; cout << endl; return 0;}void fun(int a[],int m){ int i,j,temp; int flag; flag = temp = 0; for (i = 0;i < m-1;i++) { temp = a[i]; flag = i; for (j = i+1;j < m;j++) if (a[j] < temp) {temp = a[j];flag = j;} if (flag == i) continue; a[flag] = a[i]; a[i] = temp; }}/*选择排序法同样多应用于没有排序的序列,对其进行有序排列,但较之冒泡排序,程序执行效率更高*/
1 0
- 【算法】简单排序算法
- 排序算法之简单排序
- 简单排序算法--冒泡排序
- 简单排序算法--选择排序
- 简单排序算法--插入排序
- 简单排序算法:合并排序
- 排序算法 简单选择排序
- 排序算法之简单排序
- 排序算法-简单选择排序.
- 排序算法---简单选择排序
- 【排序算法】简单选择排序
- 几个简单排序算法
- 简单的排序算法
- 算法:简单选择排序
- 排序算法-简单篇
- 简单排序算法总结
- java 简单排序算法
- 简单选择排序算法
- MySql常用命令
- rocketmq-producer原理解析
- Ubuntu 16.04下的美化配置过程
- Cockroach Design 翻译 ( 三) 架构
- flex布局
- 简单排序算法
- Plant
- 【Dongle】【Java】基础(五)包扩展
- linux 平台,Qt 使用,微软雅黑/文泉驿 字体
- Linux--多线程之线程连接pthread_join
- oracle运行速度与效率高的秘密
- 刚学Redis 记录下.
- C#如何自绘滚动条控件
- 烟大oj 进制转换