指標實現氣泡排序

2021-09-20 21:21:46 字數 1177 閱讀 7760

氣泡排序的基本思想:如果要對n個數進行排序就需要進行n-1次比較,在第一輪比較中要進行n-1次兩兩比較,在第j輪中進行n-j次兩兩比較

#include#includevoid sort(int n,int *p)}}

printf("排序後的陣列:\n");

for (i = 0; i < n;i++)

printf("\n");

}int main()

sort(n, a);

system("pause");

}

結果如下圖所示:

注意兩點:

(1)陣列名就是陣列的首位址,因此可以作為實參傳遞給形式引數。

(2)當形參為陣列時,實參也可以為指標變數

如下面

#include#includevoid sort(int n,int p)}}

printf("排序後的陣列:\n");

for (i = 0; i < n;i++)

printf("\n");

}int main()

q=a; //q重新指向陣列的首位址

sort(n, q);

system("pause");

}

結果如圖:

只要注意的時倒數第三行的賦值語句一定不可以省略,若是省略則結果如下,q不指向首位址,則進行排序的時q位置往後的n個數,此時時記憶體中不確定的數值。甚至可能出錯。

#include#includevoid sort(int n,int p)}}

printf("排序後的陣列:\n");

指標實現冒泡

鴻鴻哥最近學習了指標,感覺這個知識點有點難以理解,於是想要通過程式設計實踐來掌握它。鴻鴻哥以前學習陣列 第7章 的時候已經掌握了氣泡排序的一般寫法,現在他想用指標來實現排序的功能函式。但是他遇到了困難,你能幫幫他嗎?指標實現氣泡排序函式,函式名統一用void bubblesort int p,int...

氣泡排序實現

演算法原理 氣泡排序是經過n 1趟子排序完成的,第 i 趟子排序從第1個數至第 n i 1 個數,若第 i 個數比第 i 1 個數大,則交換這兩個數,實際上這樣經過 i 次子排序就使得 第1個數至第 n i 1個數之間最大的數交換到了n i 1 的位置上了。實際上氣泡排序時可以優化的,那就是當第 i...

氣泡排序與函式指標

何為函式指標?即 void pf 如上宣告,即為最簡單的函式指標宣告.無返回值,無引數.在學習c語言構建乙個adt的時候,看到過函式的指標,但是沒有真切感受到其作用.感覺在大多數時候它是沒什麼作用的,因為仔細一想,把函式作為引數,也就是在乙個函式裡 呼叫另外乙個函式,那我何必多次一舉,直接呼叫想用的...