1.排序中注意數值與位置的對應關係:i與a[i]
2.arr[0]為第乙個值,arr[n-1]為最後乙個值
實現原理:<1>對一組陣列(有n個數)按由前往後,兩個兩個進行比較排序。結果使得最後乙個數是這組陣列最大的數。
<2>對<1>中已排過一次的陣列進行再一次如<1>的排序,其中已排好的最大的那個數不考慮進第二次排序,即只拍n-1個數。
<3>此過程重複n-2次則可得到一組由小到大排序完成的數
**: `#include
void bubble(int arr, int n)
}void bubblesort(int arr, int n)
}int main()
,i;bubblesort(arr, 9);
for (i = 0; i < 9; i++)
return 0;
實現原理:<1>給定一組數(n個數),先選出最大的乙個數與最後乙個數(即第n個數)交換位置
<2>對餘下的n-1個數重複<1>的操作
<3>進行n-1次
**:#include
int findmaxpos(int arr, int n)//找最大那個數的位置
}
return pos;//這個函式呼叫完畢返回最大值的位置
void selectionsort(int arr, int n)//主要的排序實現函式
int main()
;selectionsort(arr, 9);
int i;
for (i = 0; i < 9; i++)
return 0;
實驗原理:<1>給定一組數(n個數),以第n個數作為key,將陣列中其餘的數與其比較。使得若其餘的數中有大於key的,與其交換位置繼續比較。結果是最後乙個數為最大值。
<2>將餘下的n-1個數進行<1>步驟
<3>進行n-1次
**:#include
void insert(int arr, int n)
}arr[i] = key;void inserttionsort(int arr, int n)
}int main()
;int i;
inserttionsort(arr, 9);
for ( i = 0; i < 9; i++)
幾種簡單的C語言排序方式(2)
原理 取排序數的其中乙個元素 哨兵 從左右兩邊開始遍歷,左邊找到大於 或小於 哨兵元素的記錄,右邊找到小於 或大於 哨兵元素的記錄,將他倆進行交換。每次得到左邊全都小於 或大於 哨兵元素的序列,右邊得到全都大於 或小於 哨兵元素的序列,遞迴之後得到最後排序 void quick sort int a...
c語言中typedef的幾種用法
幾種用法 1.常規變數型別定義 例如 typedef unsigned char uchar 描述 uchar等價於unsigned char型別定義 uchar c宣告等於unsigned char c宣告 2.陣列型別定義 例如 typedef int array 2 描述 array等價於 i...
c語言中typedef的幾種用法
幾種用法 1.常規變數型別定義 例如 typedef unsigned char uchar 描述 uchar等價於unsigned char型別定義 uchar c宣告等於unsigned char c宣告 2.陣列型別定義 例如 typedef int array 2 描述 array等價於 i...