冒泡排序、插入排序
来源:互联网 发布:淘宝dnfcdk怎么来的 编辑:程序博客网 时间:2024/05/18 03:24
冒泡排序:
package com.sort;/** * 冒泡排序类 * @author Maggie * */public class BubbleSort {public void sort(int[] array){// 需要length-1次for(int i = 0; i < array.length-1; i++){// 每一伦比较之后会将最大的数放在最后面for(int j = 0; j < array.length-i-1; j++){if(array[j] > array[j+1]){// 中间量array[j] = array[j] ^ array[j+1];// 交换:此时的array[j+1]其实是原来的array[j]array[j+1] = array[j] ^ array[j+1];// 交换:此时的array[j]其实是原来的array[j+1]array[j] = array[j] ^ array[j+1];}}}}}
插入排序:
package com.sort;/** * 插入排序 * 思路:将待排序列的第一个插入到已排序列的合适位置 * @author Naggie * */public class InsertSort {public void sort(int[] array){// 初始认为第一个数子是有序的,从第二个开始for(int i = 1; i < array.length; i++){// 待排的第一个数int first = array[i];// 待比较的索引 是i的前一个int index = i-1;while(0 <= index && first < array[index]){array[index+1] = array[index];index--;}array[index+1] = first;}}}
测试类:
package com.sort;import java.util.Calendar;/** * 测试类 * @author Maggie * */public class Test{public static void main(String[] args){// 构造一个随机待排序数组int[] array = new int[130000];for(int i = 0; i < array.length; i++){array[i] = (int)(Math.random()*1000);}//int[] array = {99,152,2,3,88,-5,6,56,36};// 测试排序花费时间// 开始排序前的时间Calendar calendar = Calendar.getInstance();System.out.println("排序前的时间是:" + calendar.getTime());// 快排//QuickSort quick = new QuickSort();//quick.sort(array, 0, array.length-1);// 冒泡//BubbleSort bubbleSort = new BubbleSort();//bubbleSort.sort(array);// 插入InsertSort insertSort = new InsertSort();insertSort.sort(array);// 选择排序//SelectSort selectSort = new SelectSort();//selectSort.sort(array);// 因为calender类是单例的,只能getInstance,而且这里需要重新获取一下单例才能更新时间。calendar = Calendar.getInstance();System.out.println("排序后的时间是:" + calendar.getTime());// 输出有序序列//Test.showList(array);}public static void showList(int[] array){for(int i= 0; i < array.length; i++){System.out.print(array[i] + ", ");}}}
0 0
- 冒泡排序 插入排序
- 冒泡排序,插入排序
- 插入排序&&冒泡排序
- 冒泡排序,插入排序
- 冒泡排序、插入排序
- 冒泡排序,插入排序
- 排序-----------------插入排序,冒泡排序
- 排序--冒泡排序、插入排序、希尔排序
- 冒泡排序与插入排序
- 插入排序和冒泡排序
- 冒泡排序、直接插入排序
- 插入排序与冒泡排序
- 冒泡排序算法,插入排序
- java~冒泡排序、插入排序
- 冒泡排序与插入排序
- 冒泡排序和插入排序
- 冒泡排序and插入排序
- 插入和冒泡排序
- 内部类
- Gradle入门
- 第四周项目2:太乐了
- Android Button 点击时替换背景颜色和替换当前图标
- 访问网络共享找不到网络名的解决方案
- 冒泡排序、插入排序
- iOS9下http及https
- 安装和使用CocoaPods
- iOS 最新版 CocoaPods 的安装流程
- 记录一天的伪代码
- Finding Action Tubes - cvpr - 2015
- 【POJ 2486】 Apple Tree(树型dp)
- 《设计模式》一书PPT浏览及下载地
- WebView补充