001-简单的java代码实现几种排序算法(插入,快速,冒泡,选择)
来源:互联网 发布:柏拉图自动生成软件 编辑:程序博客网 时间:2024/05/18 07:41
事先声明,本人小白,还望各位前辈不吝赐教。以下代码都在eclipse可以直接运行。
插入排序:
public class InsertSort {public void insertSort(int []array) {for (int i = 0; i < array.length; i++) {//第一层迭代,控制排序的趟数int j = i;while (j>0) {//第二层迭代,使得要插入的元素与之前的元素进行一一比较while (array[j]<array[j-1]) {int t = array[j];array[j] = array[j-1];array[j-1] = t;//若匹配到则替换之}j--;}System.out.println();System.out.println("第"+(i+1)+"次排序:");for (int j2 = 0; j2 < array.length; j2++) {//打印每次“排好序”的数组System.out.print(array[j2]+"\t");}}}public static void main(String[] args) {//使用一个简单的数组进行测试InsertSort insertSort = new InsertSort();int[] array = {3,2,1,4,3,2};insertSort.insertSort(array );}}快速排序:
public class QuickSort {public void quickSort(int[] array, int low, int high) {//快排控制方法,也就是递归的实现方法if (low < high) {int partion = partion(array, low, high);quickSort(array, low, partion - 1);quickSort(array, partion + 1, high);}}public int partion(int[] array, int low, int high) {//核心方法,对当前的数组进行割分int key = array[low];while (low < high) {while (low < high && array[high] > key) {high--;}int t = array[low];array[low] = array[high];array[high] = t;while (low < high) {while (low < high && array[low] <= key) {low++;}int t1 = array[low];array[low] = array[high];array[high] = t1;}}array[high] = key;return high;}}
冒泡排序:
public class BubbleSort {public void bubbleSort(int []array) {int key ;int flag ;for (int i = 0; i < array.length; i++) {//第一层迭代,控制冒泡的次数flag = 1;//设置标记,一旦冒泡排序已经将数组排好顺序,跳出之System.out.println();System.out.println("第"+(i+1)+"趟冒泡:");key = 1;while (key<array.length) {//第二层迭代,控制冒泡,与相邻的数字进行比较以获得“冒”出来的资格if (array[key-1]>array[key]) {int t = array[key-1];array[key-1] = array[key];array[key] = t;flag = 0;}key++;}for (int j = 0; j < array.length; j++) {System.out.print(array[j]+"\t");}if (flag==1) {//如果排序已结束,跳出System.exit(0);}}}}
选择排序:
public class ChoiceSort {public void choiceSort(int []array) {for (int i = 0; i < array.length; i++) {for (int j = i; j < array.length; j++) {if (array[j]<array[i]) {int t = array[i];array[i] = array[j];array[j] = t;}}}for (int i : array) {System.out.println(i);}}}
0 0
- 001-简单的java代码实现几种排序算法(插入,快速,冒泡,选择)
- 几种常用的排序算法的分析及java实现(希尔排序,堆排序,归并排序,快速排序,选择排序,插入排序,冒泡排序)
- C语言常用的几种排序算法代码(选择排序,冒泡排序,插入排序,快速排序)
- java简单实现冒泡、快速、选择、插入排序算法
- 几种排序算法总结(冒泡、选择、插入、快速)
- 几种常见排序算法的实现(冒泡法,选择法,插入法,快速排序、堆排序)
- 几种排序算法(冒泡排序算法,选择排序算法,快速排序算法,插入排序)
- 关于几种简单的排序算法-插入、冒泡、选择
- java实现最基本的几种排序算法(冒泡,选择,插入)
- 冒泡排序、选择排序、插入排序、快速排序算法的时间性能分析(java实现)
- java常用的几种排序(冒泡排序 选择 插入排序 /快速排序)
- java 几种简单的排序(插入排序,冒泡排序,选择排序)
- 几种内部排序算法总结!(冒泡排序、快速排序、直接插入排序、拆半插入排序、简单选择排序)
- 几种内部排序算法总结!(冒泡排序、快速排序、直接插入排序、拆半插入排序、简单选择排序)
- 常见的排序算法(Java实现):冒泡、插入、选择、快速排序
- 关于排序(冒泡、选择、插入、快速)的几种算法
- java几种基本的排序方法,快速排序,冒泡排序,选择排序,插入排序
- Java实现冒泡,快速,选择,插入排序算法
- Maven搭建hadoop环境报Missing artifact jdk.tools:jdk.tools:jar:1.6
- 在线考试系统(1)
- css 透明度的设置兼容所有浏览器
- BlazeDS
- 使用UltraISO制作启动U盘
- 001-简单的java代码实现几种排序算法(插入,快速,冒泡,选择)
- 基于DRBD构建高可用主从MySQL服务器
- 第13周项目3-Dijkstra算法的验证
- 第13周项目2-Kruskal算法的验证
- 第十三周项目2 验证克鲁斯卡尔算法
- Linux CentOS-源码安装MySQL 5.6.16 【详讲】
- android之ListView模拟新闻显示
- 数据结构
- Android反射机制实现与原理