排序算法

//數值排序有大到小
//冒泡
public void BubbleSort(T[]MyArray)
{
for(int i=0;i<MyArray.lenght-1;i++)
{
 for(int j=0;MyArray.length-1-i;j++)
{
     //判斷
if(MyArray[j]>=MyArray[j+1])
{
//交換
float MyF=MyArray[j];
MyArray[j]=MyArray[j+1];
  MyArray[j+1]=MyF;
}
}
} 
}
//選擇排序
pubic void SetlectSort(T[]MyArray)
{

 for(int i=0;i<MyArray.length;i++)
{
 float MyF=MyArray[i];
int maxIndex=i;
for(int j=i+1;j<MyArray.length;j++)
{
 if(MyF<MyArray[j]) //判斷
{
 MyF=MyArray[j];
maxIndex=j;
}
}
if(maxIndex!=i)
{
MyArray[maxIndex]=MyArray[i];
MyArray[i]=MyF;
} 
}
}
/**插入排序 基本思想就是認爲存在一個已經排好序的數組,然後從剩餘的數據中順序選取數據插入*到已經拍好序的數組中,從排好序的數組的末尾開始比較,如果比末尾的數值大,則不斷往前移,直*至最後把所有的數據都排成一列*/
public void InsertSort(T[]MyArray)
{
for (int i =1;i<MyArray.length-1;i++)
{
        //記錄當前值
    float MyF=MyArray[i];
    int insertIndex=i-1;
while(insertIndex>0&&MyArray[insertIndex]>MyF)
{   //往已經拍好序的數組比較並插入
  MyArray[insertIndex+1]=MyArray[insertIndex];
    insertIndex--;
}
  MyArray[insertIndex]=MyF;

}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章