java排序的几种方法
?//1、冒泡排序法(大的數往后放)
???
??? class Bubble
???
??? {
???
??? //創建排序方法
???
??? public void sort(int arr[])
???
??? {
???
??? int temp=0;
???
??? //排序
???
??? //外層循環,決定一共比幾次
???
??? for(int i=0;i<arr.length-1;i++)
???
??? {
???
??? //內層循環,開始逐個比較,
???
??? for (int j=0;j<arr.length-1-i;j++)
???
??? {
???
??? //如果發現前一個數比后一個數大,則交換
???
??? if(arr[j]>arr[j+1])
???
??? {
???
??? //換位
???
??? temp=arr[j];
???
??? arr[j]=arr[j+1];
???
??? arr[j+1]=temp;
???
??? }
???
??? }
???
??? }
???
??? }
???
??? }
???
??? //2、選擇排序法(從小到大)
???
??? class Select
???
??? {
???
??? public void sort(int arr[])
???
??? {
???
??? int temp=0;
???
??? for(int i=0;i<arr.length-1;i++)
???
??? {
???
??? //認為arr[i]最小
???
??? int min=arr[i];
???
??? //記錄最小的數的下標
???
??? int minIndex=i;
???
??? //用我認為的數和后面的數以次比較,找到最小值
???
??? for(int k=i+1;k<arr.length;k++)
???
??? {
???
??? //如果arr[i]不是最小的則修改值
???
??? if(min>arr[k])
???
??? {
???
??? //修改最小
???
??? min=arr[k];
???
??? minIndex=k;
???
??? }
???
??? }
???
??? //當退出for就找到了這次的最小值,并交換值
???
??? temp=arr[i];
???
??? arr[i]=arr[minIndex];
???
??? arr[minIndex]=temp;
???
??? }
???
??? }
???
??? }
???
??? //3、插入排序法
???
??? class InsertSort
???
??? {
???
??? public void sort (int arr[])
???
??? {
???
??? for(int i=1;i<arr.length;i++)
???
??? {
???
??? //insertVal是準備插入的數
???
??? int insertVal=arr[i];
???
??? //insertVal準備和前一個數比較
???
??? int index=i-1; //前一個數的下標
???
??? while(index>=0&&insertVal<arr[index])
???
??? {
???
??? //就把arr[index]向后移動一位
???
??? arr[index+1]=arr[index];
???
??? //讓index向前移動
???
??? index--;
???
??? }
???
??? //將insertVal插入到適當位置
???
??? arr[index+1]=insertVal;
???
??? }
???
??? }
???
??? }
轉載于:https://blog.51cto.com/cfkjava/939879
總結
以上是生活随笔為你收集整理的java排序的几种方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: activity得到service的数据
- 下一篇: rc.local