冒泡排序法
来源:互联网 发布:网络名言名句大全爱情 编辑:程序博客网 时间:2024/06/10 14:42
#include <iostream>#include <ctime>using namespace std;//冒泡排序 两两比较,小的在左,比较N-1次,达到排序目的const int N=10;int a[N];void init();void result();//还是五种实现void ForSort(int arr[]);void GotoSort(int arr[]);void WhileSort(int arr[]);void DoWhileSort(int arr[]);void RecursiveSort(int arr[],int i=0);int main(){ //初始化 init(); //排序 //ForSort(a); //GotoSort(a); //WhileSort(a); //DoWhileSort(a); RecursiveSort(a); //结果 cout << "-------------\n"; result(); getchar();}void RecursiveSort(int arr[],int i){ if (i < N - 1) { int j = i + 1; b: if (j < N) { if (arr[i]>arr[j]) swap(arr[i], arr[j]); j++; goto b; } RecursiveSort(arr, ++i); }}void DoWhileSort(int arr[]){ int i(0); do { int j = i + 1; do { if (arr[i] > arr[j]) swap(arr[i], arr[j]); } while (++j<N); } while (++i<N-1);}void WhileSort(int arr[]){ int i(0); while (i<N-1) { int j = i + 1; while (j<N) { if (arr[i]>arr[j]) swap(arr[i], arr[j]); j++; } i++; }}void GotoSort(int arr[]){ int i(0); a: if (i < N-1) { int j = i + 1; b: if (j < N) { if (arr[i]>arr[j]) swap(arr[i], arr[j]); j++; goto b; } i++; goto a; }}void ForSort(int arr[]){ for (int i = 0; i < N; i++) { for (int j = i+1; j < N; j++) { if (arr[i]>arr[j]) { swap(arr[i], arr[j]); } } }}void init(){ srand(unsigned int(time(NULL))); for (int i = 0; i < N; i++) { a[i] = rand() % 100; printf("%d\n", a[i]); }}void result(){ for (int i = 0; i < N; i++) { printf("%d\n", a[i]); }}
0 0
- 【排序】冒泡排序法
- 常用排序-冒泡法排序
- 排序法之冒泡排序
- php排序&冒泡法排序
- 排序之冒泡排序法
- 排序算法--冒泡排序法
- 【PHP】冒泡排序法排序
- 排序算法--冒泡排序法
- 冒泡法排序
- 排序:冒泡法
- 冒泡排序法
- 冒泡法排序
- 冒泡法排序
- 冒泡排序法
- java 冒泡排序法
- 冒泡法排序
- 冒泡法排序
- 冒泡法排序
- Java基础--多线程
- Linux根目录下有没有(..)存在?
- 计算机系统 笔记(1)系统漫游
- ARUBA650 WLAN设置密码
- js读取txt文件
- 冒泡排序法
- Android Junit测试环境搭建
- Google翻译接口
- CSS hack技巧小全
- android fragment
- iOS关于SQLite存取时间数据类型的两条常用方法。
- Posts Tagged 【dp】Interleaving String
- iPhone 获取root信息
- iOS CGContextRef画图小结