几种排序算法代码
来源:互联网 发布:泰捷电视直播软件 编辑:程序博客网 时间:2024/05/04 09:34
选择排序
void select(int[] a) { for(int i = 0; i < a.length;i ++) { for(int j = i; j < a.length; j ++) { int ai = a[i]; int aj = a[j]; if(a[i] > a[j]) { a[i] = aj a[j] = ai; } }}
冒泡排序
void bubble(int[] a) { BOOL exchanged = YES; for (int i = 0; i < a.length - 1 && exchanged; i ++) { exchanged = NO; for (int j = 0; j < (a.length - 1 - i); j ++) { int aj = a[j]; int aj1 = a[j + 1]; if (aj > aj1) { exchanged = YES; a[j + 1] = aj; a[j] = aj1; } } }}
快速排序
void quick(int[] a, int left, int right){ if (left < right) { int key = a[left]; int low = left; int high = right; while (low < high) { while (low < high && a[high] >= key) { high --; } a[low] = a[high]; while (low < high && a[low] <= key) { low ++; } a[high] = a[low]; } a[low] = key; quick(a, left, low - 1); quick(a, low + 1, right); }}
插入排序
void insert(int[] a) { for (int i = 1; i < a.length; i ++) { int ai = a[i], aj; int j = i; while (j > 0 && (aj = a[j - 1]) > ai) { a[j] = aj; j --; } a[j] = ai; }}
汉诺塔排序
void hanoi(int i , char A , char B , char C) { if(i == 1) { move(i , A , C); } else { hanoi(i - 1 , A , C , B); move(i , A , C); hanoi(i - 1 , B , A , C); }}void move(int i , char x , char y) { printf("Move disk i from x to y");}
0 0
- 几种排序算法代码
- 【算法】几种排序代码
- 几种排序算法的实现代码
- 几种排序算法思想及代码
- 几种排序算法的代码
- 几种排序算法JAVA代码
- 几种排序算法
- 几种排序算法!
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- JQuery——选择器
- IOs内存管理中遇到的坑
- mysql并发基础知识
- 关于JAVA类型处理的效率
- 1.搭建WebDriver(Java)开发环境及第一个例子
- 几种排序算法代码
- Algorithms—60.Permutation Sequence
- Rails国际化(i18n)
- 自己控制文件安全上下文
- 帮助文档的制作(程序说明书)
- 常用正则表达式
- leetcode 46-Permutations and 47-Permutations II
- Java架构之接口和抽象类
- Pro Android学习笔记(一)——ContentProvider(上)