指向指標的方法對n個字串排序

2021-09-01 22:32:31 字數 669 閱讀 8078

[size=large]說實話前面的對整數的指向指標的排序真沒看出有什麼意思,但是這個對字串的指向指標的排序方法讓我察覺到了其意義所在,字串一般都需要大量的儲存空間來儲存,如果直接對其進行排序,必然涉及到大量的字串移動,這是非常浪費資源的,而通過指向字串的指標來排序,排序的物件僅僅是乙個儲存著指標值的陣列而已,差不多就是對整數排序的開銷而達到了發現字串大小順序的效果,而無需對原來的字串陣列作任何移動與調整。[/size]

#include

#include

/*通過對指向字串陣列的指標所指的字串進行比較

對ptr指標陣列進行排序,完成後只需要根據ptr陣列來輸出字串即為有序

*/void sort(char **p, int n)}}

}void main()

;printf("input %d strings:\n", n);

for(i=0; iprintf("before sort:\n");

for(i=0; i//對指向字串陣列的指標陣列進行排序

sort(ptr, n);

printf("after sort(*ptr):\n");

for(i=0; iprintf("after sort(a):\n");

for(i=0; i}

當指標指向乙個字串

1.以字串形式出現的,編譯器都會為該字串自動新增乙個0作為結束符。如在 中寫 abc 那麼編譯器幫你儲存的是 abc 0 2.abc 是常量嗎?答案是有時是 有時不是。不是常量的情況 abc 作為字元陣列初始值的時候就不是,如 char str abc 因為定義的是乙個字元陣列,所以就相當於定義了一...

當指標指向乙個字串

1.以字串形式出現的,編譯器都會為該字串自動新增乙個0作為結束符。如在 中寫 abc 那麼編譯器幫你儲存的是 abc 0 2.abc 是常量嗎?答案是有時是 有時不是。不是常量的情況 abc 作為字元陣列初始值的時候就不是,如 char str abc 因為定義的是乙個字元陣列,所以就相當於定義了一...

倒數第N個字串

倒數第n個字串 給定乙個完全由小寫英文本母組成的字串等差遞增序列,該序列中的每個字串的長度固定為 l,從 l 個 a 開始,以 1 為步長遞增。例如當 l 為 3 時,序列為 這個序列的倒數第27個字串就是 zyz。對於任意給定的 l,本題要求你給出對應序列倒數第 n 個字串。輸入格式 輸入在一行中...