几种排序方法的实现
来源:互联网 发布:centos hadoop ssh 编辑:程序博客网 时间:2024/06/15 01:55
#include <iostream>#include <stdio.h>using namespace std;//插入排序 void insert_sort_increase(int *num, int size){ int tmp = 0;int j = 0;for (int i = 1; i < size; i++){if (num[i] < num[i-1]){tmp = num[i];for (j = i; j > 0 && tmp < num[j-1]; j-- ){num[j] = num[j-1];}num[j] = tmp;}}}//冒泡排序void bubble_sort_increase(int *num, int size){int tmp;for (int i = 1; i < size; i++){for (int j = 0; j < size-i; j++){if (num[j]>num[j+1]){tmp = num[j];num[j] = num[j+1];num[j+1] = tmp;}}}}//选择排序void select_sort_increase(int *num, int size){int tmp;int pos;for (int i = 1; i < size; i++){tmp = num[i-1];pos = i-1;for (int j = i ; j < size; j++){if (num[j] < tmp ){tmp = num[j];pos = j;}}num[pos] = num[i-1];num[i-1] = tmp;}}//谢尔排序void shell_sort_increase(int *num, int size){int tmp = 0;int j = 0;for (int gop = size/2; gop > 0; gop /=2){for (int i = gop; i < size; i++){tmp = num[i];for ( j = i; j >= gop && tmp<num[j-gop]; j -= gop){num[j] = num[j-gop];}num[j] = tmp;}}}//快速排序void quick_sort_increase(int *num, int left, int right){int l = left;int r = right; int tmp = num[l]; //选取第一个为驱轴while (l < r){while(r > l && tmp <= num[r]){r--;}if (l < r){num[l++] = num[r];}while (r > l && tmp >= num[l]){l++;}if (l < r){num[r--] = num[l];}}num[l] = tmp;if(left < l-1){quick_sort_increase(num, left, l-1);}if (r+1 < right){quick_sort_increase(num, r+1, right);}}void quick_sort_increase(int *num, int size){quick_sort_increase(num,0, size-1);}int main(){int num[10]={5,1,6,45,22,24,51,23,12,17};//insert_sort_increase(num, 10);//bubble_sort_increase(num, 10);//select_sort_increase(num, 10);//shell_sort_increase(num, 10);quick_sort_increase(num, 10);for (int i=0; i < 10; i++){cout << num[i] << " ";}cout << endl << "*********************************************" << endl;getchar();return 0;}
0 0
- 快速排序的几种实现方法
- 几种排序方法的实现
- java实现排序的几种方法
- 几种排序方法的实现 (C语言)
- 几种排序方法的C语言实现
- JAVA冒泡排序算法的几种实现方法
- 数据排序的几种方法(c语言实现)
- 几种常用排序方法的C#实现
- 数据排序的几种方法(c语言实现)
- 几种常见的排序方法(C语言实现)
- 几种常用排序方法的简单实现
- 几种排序的方法
- 排序的几种方法
- 排序的几种方法
- 排序的几种方法
- 排序的几种方法
- Java实现几种常见排序方法
- Java实现几种常见排序方法
- control reaches end of non-void function
- curl采集乱码(非编码问题)
- 黑马程序员_C#基础中“=”与“==”的区别
- 中序式转后序式算法分析及代码(C/OC)
- tcpdump转用法解析
- 几种排序方法的实现
- 从前端走向幕后:专家揭秘支付宝的技术内幕
- [INS-20802] Oracle Net Configuration Assistant failed ;Returning is Port 1521 free: false
- 一段代码让你理解二叉树的递归奥秘
- opencv的数据指针
- 探讨opencv函数中的mask的作用
- org/objectweb/asm/Type异常解决办法
- 什么是Hibernate
- Block解析图