兩種經典排序(氣泡排序和選擇排序)

2021-06-23 07:09:08 字數 756 閱讀 9747

#include/*

void temp(int i,int j)//這種方法只能改變形參的值,不能真正的交換值

*/void bubble(int num,int n)//氣泡排序使陣列由小到大

}void sort(int num,int n)//選擇排序使陣列由大到小

{ int i,j,k,temp;

for(i=0;i

要想在函式中改變陣列的值,實參和形參的對應關係有以下四種:

void f(int x,int n);     

f(a,10);

void f(it *x,int n);

f(a,10);//另外兩種方法是int *p,f(p,10);

因為陣列的兩個特點:一是不能複製陣列;二是使用陣列名字時,陣列會自動轉化為指向其第乙個元素的指標,所以

f(a[10],10);
這種寫法是錯誤的。

void f(int x[10],int n);void f(int x,int n);

這兩種寫法是一樣的,

因為陣列在傳入時,實質上只傳入指向其首元素的指標

。如果希望函式只接受含有特定數量元素的陣列,可以考慮使用乙個引用形參。

void f(int (&a)[12]);
這樣的話只能接受長度為12的陣列名。

js兩種排序 氣泡排序和選擇排序

氣泡排序 陣列中的元素兩兩進行比較,如果第乙個數比第二個數大,交換位置,第一輪結束後,最大值排在最後邊 進行第二輪的兩兩比較,第二大的值也能拍出來 以此類推 var arr 2,4,1,6,9,8 宣告乙個無序陣列 function bubblesort arr return arr bubbles...

陣列的兩種排序方式 選擇排序和氣泡排序

原理 在陣列中選擇出最小 大 的乙個數,與第乙個位置的數進行交換位置 int arr system.out.println 排序前 arrays.tostring arr 使用兩層迴圈遍歷陣列,將前一位數值與後面以為數值進行比較,如果前一位數值要大於後一位數值,則交換他們的位置。故而可以實現排序 f...

陣列的兩種排序方式 選擇排序和氣泡排序

原理 在陣列中選擇出最小 大 的乙個數,與第乙個位置的數進行交換位置 int arr system.out.println 排序前 arrays.tostring arr 使用兩層迴圈遍歷陣列,將前一位數值與後面以為數值進行比較,如果前一位數值要大於後一位數值,則交換他們的位置。故而可以實現排序 f...