選擇法和冒泡法排序介面
#define ret_ok 0
#define ret_err 1
#define ARRAY_SIZE 10
/*選擇法排序*/
int Choice_Sort(int array[],int array_len)
{
int i = 0;
int j = 0;
int iMin = 0;
int iTemp = 0;
int iFlag = 0;
for(i=0;i<array_len-1;i++)
{
iMin = i;
for(j=i+1;j<array_len;j++)
{
if(array[iMin] < array[j])
{
iMin = j;
iTemp = array[j];
array[j] = array[iMin];
array[iMin] = iTemp;
}
}
}
return ret_ok;
}
/*冒泡法排序*/
int Bubble_Sort(int array[],int array_len)
{
int i = 0;
int j = 0;
int iTemp = 0;
/*外層迴圈代表迴圈的次數*/
for(i=1;i<array_len;i++)
{
/*代表前size-i個資料最值得冒泡*/
for(j=0;j<array_len-i;j++)
{
/*將最值後移*/
if(array[j] > array[j+1])
{
iTemp = array[j];
array[j] = array[j+1];
array[j+1] = iTemp;
}
}
}
return ret_ok;
}
int main(int argc,char argv[])
{
int i = 0;
int iArray[ARRAY_SIZE];
for( i=0;i<ARRAY_SIZE;i++ )
scanf("%d",&iArray[i]);
for(i=0;i<ARRAY_SIZE;i++)
{
printf("%d ",a[i]);
}
Choice_Sort(iArray,ARRAY_SIZE);
printf("選擇法排序:\n");
for(i=0;i<ARRAY_SIZE;i++)
{
printf("%d ",a[i]);
}
Bubble_Sort(iArray,ARRAY_SIZE);
printf("冒泡法排序:\n");
for(i=0;i<ARRAY_SIZE;i++)
{
printf("%d ",a[i]);
}
return 0;
}
相關文章
- 排序法:選擇、冒泡、插入和快排排序
- 冒泡,選擇排序法(C#)排序C#
- 指標對陣列排序選擇法和冒泡法指標陣列排序
- 選擇排序法排序
- 排序演算法之冒泡,選擇,插入和希爾排序演算法
- C語言:排列陣列的三種方法:冒泡法、選擇法、插入法C語言陣列
- C語言排序 冒泡 選擇 快排C語言排序
- 7-7 冒泡法排序 (20分)排序
- 七、排序,選擇、冒泡、希爾、歸併、快速排序實現排序
- 單連結串列的排序(插入,選擇,冒泡)排序
- 資料結構和演算法:03.冒泡、選擇排序資料結構演算法排序
- (三)陣列的定義、折半查詢、排序(選擇和冒泡)陣列排序
- 基礎排序(冒泡、選擇、插入)學習筆記排序筆記
- PHP排序演算法(插入,選擇,交換,冒泡,快速)PHP排序演算法
- PHP基礎演算法之選擇排序法PHP演算法排序
- alanwang[GDOU] 用選擇排序法對10個整數排序排序
- 選擇排序和快速排序排序
- 排序演算法Python(冒泡、選擇、快速、插入、希爾、歸併排序)排序演算法Python
- 改進的氣泡排序和選擇排序(雙向冒泡/一次遍歷選出最大和最小的選擇排序)C語言實現排序C語言
- 選擇排序和氣泡排序排序
- 氣泡排序和選擇排序排序
- 選擇排序和插入排序排序
- 反射,hashlib模組,正則匹配,冒泡,選擇,插入排序反射排序
- 陣列基本操作及冒泡演算法、直接選擇排序陣列演算法排序
- 冒泡和快速排序排序
- 常見的三種排序演算法(選擇,冒泡,計數)排序演算法
- 氣泡排序和選擇排序詳解排序
- 氣泡排序和選擇排序流程圖排序流程圖
- 從零開始學資料結構和演算法(一)冒泡與選擇排序資料結構演算法排序
- Python演算法之---冒泡,選擇,插入排序演算法Python演算法排序
- 最簡單易懂的三種排序演算法:冒泡、選擇、插入排序演算法
- 排序(2)--選擇排序,歸併排序和基數排序排序
- 排序演算法 - 氣泡排序和選擇排序排序演算法
- 選擇排序排序
- 排序之選擇排序排序
- 阻止冒泡和阻止預設事件的相容寫法事件
- 選擇排序和插入排序(C++實現)排序C++
- php演算法之冒泡法PHP演算法