#include
#include
/** * 將nums中的資料,進行快速排序
* @param nums 待排序的陣列
* @param start 陣列中待排序序列的起始位置
* @param end 陣列中待排序序列的終止位置
*/void
fastsort
(int
*nums,
int start,
int end)
// 將樞紐元素歸位
nums[e]
= tmp;
// 遞迴處理左邊
fastsort
(nums, start, e)
;// 遞迴處理右邊
fastsort
(nums, s +
1, end);}
intmain
(void
)fastsort
(nums,3,
8);for
(int i =
0; i <
10; i++
)printf
("\n");
return0;
}
C語言中的指標還可以這麼用
話不多說,先行 include void main 上面的例子中,定義指標時,如果要定義兩個及以上的指標,每個指標變數前面都要加上星號,要不然編譯器會把不加星號的當作普通變數來處理,就像下面這段 編譯不通過。include void main 這時候編譯器把q當作普通整型變數,讓q儲存b的位址,編譯...
C語言 用C語言實現快速排序
快速排序時間複雜度為o nlogn 是陣列相關的題目當中經常會用到的演算法。在c語言中,陣列作為引數傳遞時會轉換為指向陣列起始位址的指標,非陣列形式的資料實參均以傳值形式呼叫。下列兩種形式的傳參時等價的,他們均指向陣列a的初始位址。void test int a void test int a 因此...
C語言這麼厲害,它自身又是用什麼語言寫的?
c語言本身用什麼語言寫的?換個角度來問,其實是 c語言在執行之前,得編譯才行,那c語言的編譯器從 來?用什麼語言來寫的?如果是用c語言本身來寫的,到底是先有蛋還是先有雞?1我們假設世界上不存在任何編譯器,先從機器語言說起,看看怎麼辦。機器語言可以直接被cpu執行,不需要編譯器。然後是組合語言,組合語...