數組排序

冒泡排序:從數組中首元素開始和其餘元素逐個比較,若其中一個元素比其小(或大),就交換首元素與其位置算法

int k[] = {3,4,5,1,0,2};
for(int i=0;i<k.length-1;i++)
{
for(int j=i+1;j<k.length;j++)
{
if(k[i]>k[j])
{
int temp = k[i];
k[i]=k[j];
k[j]=temp;
}
}
}
for(int i=0;i<k.length;i++)
{
System.out.println(k[i]);
}
array排序函數sort:數組

int k[] = {3,4,5,1,0,2};
Arrays.sort(k);
for(int n=0;n<k.length;n++)
{
System.out.println(k[n]);
}
選擇排序:函數

int k[] = {3,4,5,3,2,1,0,2};
for(int i=0;i<k.length-1;i++)
{
int min = i;
for(int j=i+1;j<k.length;j++)
{
if(k[min]>k[j])
{
min=j;
}
if(min!=i)
{
int temp = k[i];
k[i]=k[min];
k[min]=temp;
}
}
}
for(int i=0;i<k.length;i++)
{
System.out.println(k[i]);
} //選擇排序
插入排序:3d

int k[] = {3,4,5,3,2,1,0,2};
for(int i=1;i<k.length;i++)
{
for(int j=i;j>0;j--)
{
if (k[j]<k[j-1])
{
int temp=k[j-1];
k[j-1]=k[j];
k[j]=temp;
}
else break;
}
}
for(int i=0;i<k.length;i++)
{
System.out.println(k[i]);
} //插入排序
 orm

1.冒泡排序法:將數組中的相鄰兩個元素進行比較,將比較大(較小)的數經過兩兩比較移動到數組末尾(開始),執行一遍內層循環,肯定一個最大(最小)的數,外層循環從數組末尾(開始)遍歷到開始(末尾).

 
冒泡排序

2.選擇排序法:將要排序的數組分紅兩部分,一部分是從大到小已經排好序的,一部分是無序的,從無序的部分取出最小的放到已經排序的最後面。

 
選擇排序

3.插入排序法:將要排序的數組分紅兩部分,每次從後面的部分取出索引最小的元素插入到前一部分的適當位置

 
插入排序

4.快速排序法:快速排序法號稱是目前最優秀的算法之一,實現思路是,將一個數組的排序問題當作是兩個小數組的排序問題,而每一個小的數組又能夠繼續當作更小的兩個數組,一直遞歸下去,直到數組長度大小最大爲2。

 
快速排序
做者:你爲何無理取鬧 連接:https://www.jianshu.com/p/4f9202e11991 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息