排序问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了排序问题相关的知识,希望对你有一定的参考价值。
java中的交换函数(swap):在java中对于参数的传递仅仅是值的传递,并不改变其本身的值。如果是数组问题,则采用传递数组改变下标的方法。
1 public static void swap(int[] arr,int a,int b){ 2 int temp=arr[a]; 3 arr[a]=arr[b]; 4 arr[b]=temp; 5 }
选择排序:
首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
public static void select_ort(int[] arr){ for(int x=0;x<arr.length-1;x++){ for(int y=x+1;y<arr.length;y++){ if(arr[x]>arr[y]) swap(arr,x,y); } } }
冒泡排序:
public static void bubbleSort(int[] arr){ for(int x=0;x<arr.length-1;x++){ for(int j=0;j<arr.length-1-x;j++){ if(arr[j]>arr[j+1]) swap(arr,j,j+1); } }
for(int x=arr.length-1;x>0;x--){ for(int y=0;y<x;y++){ if(arr[j]>arr[j+1]) swap(arr,j,j+1); } } }
}
以上是关于排序问题的主要内容,如果未能解决你的问题,请参考以下文章
Realm和RecyclerView项目排序和自动ViewPager片段通信
ElasticSearch学习问题记录——Invalid shift value in prefixCoded bytes (is encoded value really an INT?)(代码片段