标签:
排序分类:
内部排序:就是将需要处理的所有数据都加载到内部存储器中进行排序
交换式排序法:是运用数值较后,依判断规则对数据位置进行交换,以达到排序的目的
冒泡排序法(Bubble Sort)
快速排序法(Quick Sort)
选择式排序法:
选择排序法(Select Sort)
堆排序法(Heap Sort)
插入式排序法:对欲排序的元素以插入的方式找寻元素的适当位置,以达到排序的目的
插入排序法(Insertion Sort)
谢耳排序法(Shell Sort)
二叉树排序法(Binary-tree Sort)
外部排序:数据量过大,无法全部加载到内存中,需要借助外部存储进行排序
合并排序法,直接合并排序法
选择排序原理: 先是0角标和后面的每个角标进行比较,确定了0角标后,
1角标继续和后面的每个角标进行比较,再确定1角标,以此类推完成选择排序, 每次比较完下一轮比较都会减少一次
用到for嵌套 内循环结束一次,最值出现在头角标位置上
1 public class Array_SelectSort { 2 public static void main(String[] args) { 3 int[] arr = {3,4,567,75,46,3}; 4 PrintArray(arr); 5 6 selectSort(arr); 7 PrintArray(arr); 8 } 9 10 public static void selectSort(int[] arr){ 11 for (int x = 0;x<arr.length-1 ;x++ ){ 12 for (int y=x+1;y<arr.length ;y++ ){ 13 if(arr[x]>arr[y]){ 14 swap(arr,x,y); 15 } 16 } 17 } 18 } 19 20 public static void swap(int[] arr,int a , int b){ 21 int temp = arr[a]; 22 arr[a] = arr[b]; 23 arr[b] = temp; 24 } 25 26 public static void PrintArray(int[] arr){ 27 System.out.print("【"); 28 for (int x = 0;x<arr.length ;x++ ){ 29 if (x != arr.length-1) 30 System.out.print(arr[x]+", "); 31 else 32 System.out.println(arr[x]+"】"); 33 } 34 } 35 }
标签:
原文地址:http://www.cnblogs.com/LO-ME/p/3548016.html