java排序的几种方法
?//1、冒泡排序法(大的數(shù)往后放)
???
??? class Bubble
???
??? {
???
??? //創(chuàng)建排序方法
???
??? public void sort(int arr[])
???
??? {
???
??? int temp=0;
???
??? //排序
???
??? //外層循環(huán),決定一共比幾次
???
??? for(int i=0;i<arr.length-1;i++)
???
??? {
???
??? //內(nèi)層循環(huán),開(kāi)始逐個(gè)比較,
???
??? for (int j=0;j<arr.length-1-i;j++)
???
??? {
???
??? //如果發(fā)現(xiàn)前一個(gè)數(shù)比后一個(gè)數(shù)大,則交換
???
??? 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++)
???
??? {
???
??? //認(rèn)為arr[i]最小
???
??? int min=arr[i];
???
??? //記錄最小的數(shù)的下標(biāo)
???
??? int minIndex=i;
???
??? //用我認(rèn)為的數(shù)和后面的數(shù)以次比較,找到最小值
???
??? for(int k=i+1;k<arr.length;k++)
???
??? {
???
??? //如果arr[i]不是最小的則修改值
???
??? if(min>arr[k])
???
??? {
???
??? //修改最小
???
??? min=arr[k];
???
??? minIndex=k;
???
??? }
???
??? }
???
??? //當(dāng)退出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是準(zhǔn)備插入的數(shù)
???
??? int insertVal=arr[i];
???
??? //insertVal準(zhǔn)備和前一個(gè)數(shù)比較
???
??? int index=i-1; //前一個(gè)數(shù)的下標(biāo)
???
??? while(index>=0&&insertVal<arr[index])
???
??? {
???
??? //就把a(bǔ)rr[index]向后移動(dòng)一位
???
??? arr[index+1]=arr[index];
???
??? //讓index向前移動(dòng)
???
??? index--;
???
??? }
???
??? //將insertVal插入到適當(dāng)位置
???
??? arr[index+1]=insertVal;
???
??? }
???
??? }
???
??? }
轉(zhuǎn)載于:https://blog.51cto.com/cfkjava/939879
總結(jié)
以上是生活随笔為你收集整理的java排序的几种方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: activity得到service的数据
- 下一篇: rc.local