1 待排序數(shù)組首地址 2 數(shù)組中待排序元素?cái)?shù)量 3 各元素的占用空間大小 4 指向函數(shù)的指針,用于確定排序的順序 這個(gè)函數(shù)必須要自己寫比較函數(shù),即使要排序的元素是int,float一類的C語言基礎(chǔ)類型。
目前創(chuàng)新互聯(lián)已為近1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、虛擬主機(jī)、網(wǎng)站改版維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、撫州網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
sortFun(a,SIZE_N); //調(diào)用排序函數(shù) for(int j=0;jSIZE_N;j++){ printf(%d\n,a[j]); //輸出數(shù)據(jù) } } 以上就是基本的程序,局部可以優(yōu)化使其更人性化。
把 if(p!=i){ q=a[p];a[p]=a[i];a[i]=q;} 這一段放到前面的p=m;后地}后面。
程序中有兩處出現(xiàn)*point_1和*point_2,但是兩者含義不同。程序第5行的*point_1和*point_2表示定義兩個(gè)指針變量*point_1和*point_2。它們前面的“*”只是表示該變量是指針變量。
該趟排序從當(dāng)前無序區(qū)中選出關(guān)鍵字最小的記錄 R[k],將它與無序區(qū)的第1個(gè)記錄R交換,使R[.i]和R分別變?yōu)橛涗泜€(gè)數(shù)增加1個(gè)的新有序區(qū)和記錄個(gè)數(shù)減少1個(gè)的新無序區(qū)。
1、p[i]就是指針p指向的數(shù)組的下標(biāo)為i的元素。
2、c語言通過函數(shù)調(diào)用實(shí)現(xiàn)選擇排序法:寫一個(gè)簡單選擇排序法的函數(shù)名,包含參數(shù)。
3、理論上來說 自定義函數(shù)可以不需要使用 所有過程 都寫在主函數(shù)里面也可以的。但是,實(shí)際上 1 如果同樣的功能需要被多次使用。比如,要在程序不同時(shí)間對數(shù)組進(jìn)行排序。那么每個(gè)排序點(diǎn),把排序算法實(shí)現(xiàn)一遍,明顯是白費(fèi)勁的。
4、程序中有兩處出現(xiàn)*point_1和*point_2,但是兩者含義不同。程序第5行的*point_1和*point_2表示定義兩個(gè)指針變量*point_1和*point_2。它們前面的“*”只是表示該變量是指針變量。
5、數(shù)組a 定義為局部變量,你傳遞了卻沒返回,這樣使用不了,我改為了全局變量,這樣不需要傳遞,直接使用就行。函數(shù)傳遞的另一個(gè)變量N 不需要傳遞,因?yàn)楸旧鞱就是個(gè)全局變量,直接使用就行。
array[k]=array[i];array[i]=temp;} } 這個(gè)程序?qū)崿F(xiàn)的是由小到大的排序。
把 if(p!=i){ q=a[p];a[p]=a[i];a[i]=q;} 這一段放到前面的p=m;后地}后面。
程序思路:排序函數(shù):根據(jù)傳參,實(shí)現(xiàn)降序升序兩種功能。數(shù)組輸出:根據(jù)傳參,實(shí)現(xiàn)正數(shù)和負(fù)數(shù)輸出兩種功能。
sortFun(a,SIZE_N); //調(diào)用排序函數(shù) for(int j=0;jSIZE_N;j++){ printf(%d\n,a[j]); //輸出數(shù)據(jù) } } 以上就是基本的程序,局部可以優(yōu)化使其更人性化。