java实现三种简单排序以及改良:冒泡排序,选择排序,直接插入排序
2017-01-18 21:58
986 查看
import java.util.Arrays; public class Sort { public static void main(String[] args) { int[] array={18,17,20,9,10}; bubble1(array); System.out.println(Arrays.toString(array)); } //冒泡排序:从第一个数开始,将最大的数移到最前面,重复 //简单的改进(有多种改进方式)某一趟没有任何数据交换,数据排序完毕 public static void bubble1(int[] array){ int temp = 0; boolean issorted = false; for (int i = array.length-1; i >0&&!issorted ; i--) { issorted = true; for (int j = 0; j <i; j++) { if(array[j]>array[j+1]){ issorted = false ; temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; } } } } //冒泡排序:从最后一个数数开始,将最小的数移到最前面,重复 public static void bubble2(int[] array){ int temp = 0; for (int i = 0; i < array.length-1; i++) { for (int j = array.length-1; j >i; j--) { if(array[j]<array[j-1]){ temp = array[j]; array[j] = array[j-1]; array[j-1] = temp; } } } } //选择排序 public static void selection(int[] array){ int k = 0,temp = 0; for (int i = 0; i < array.length-1; i++) {//比较到倒数第二个,最后一个自然放置好 k=i; for (int j = 0; j < array.length; j++) {//因为有k=i,故从i+1开始1 17 20 9 10 if (array[k]>array[j]) { k=j; } } if(k!=i){ temp = array[i]; array[i] = array[k]; array[k] = temp; } } } //插入排序 public static void insert(int[] array){ int temp; int j; for (int i = 1; i < array.length; i++) { temp = array[i]; for(j = i-1; j >= 0&&array[j] > temp; j--) {//前面数值大于temp才后移 //如果这里添加if(array[j]>temp) array[j+1] = array[j]; } array[j+1] = temp; } } }
相关文章推荐
- java版排序算法简介及冒泡排序以及优化,选择排序,直接插入排序,希尔排序,堆排序,快速排序及其优化前言 2 分类 2 稳定性 3 时间复杂度 4 Java实现版本 5 1、冒泡排序 6 2、选择排序
- 冒泡排序-直接选择排序-直接插入排序-希尔排序-java实现
- java中各种常用排序实现(直接插入排序、直接选择排序、堆排序、冒泡排序、快速排序和归并排序)
- 冒泡排序、选择排序、直接插入排序(java实现)
- java几种排序简单实现(快速排序,冒泡排序,直接插入排序)
- java实现各种基础排序(冒泡排序、快速排序、直接选择排序、堆排序、直接插入排序、归并排序)
- java实现冒泡排序,选择排序,直接插入排序,快速排序
- 冒泡排序、直接插入排序及选择排序之Java实现
- 菜鸟学编程之三:三种最基本排序算法的实现(冒泡排序、选择排序、直接插入排序)
- 排序算法之冒泡排序、选择排序、直接插入排序(java实现)
- 三种最简单基础的排序 选择排序 冒泡排序 直接插入排序 运用了函数指针数组
- 三种简单排序用java实现(选择排序,冒泡排序,插入排序)
- java插入排序,冒泡排序,选择排序的思路及实现
- 我在北京找工作(二):java实现算法<1> 冒泡排序+直接选择排序
- 插入排序、冒泡排序、选择排序、希尔排序、快速排序、归并排序、堆排序和LST基数排序——JAVA实现
- 三种基本排序-冒泡排序、直接插入排序、选择排序
- C语言实现直接插入排序,冒泡排序以及二分查找(巩固理解记忆)
- JAVA实现简单的冒泡排序与选择排序
- 直接插入排序以及java实现
- 十二.C语言8种排序算法及其实现 1.希尔排序 2.二分插入法 3.直接插入法 4.带哨兵的直接排序法 5.冒泡排序 6.选择排序 7.快速排序 8.堆排序