C語言中說的按字典順序是什麼意思

時間 2021-08-30 09:08:32

1樓:淑婷

就是說,將多個字串的同一位置的字元按照26個字母的順序進行比對。a最小,z最大。

a < b;

aa < ab;  因為第二位置上,前面字串是a,後面字串是b,所以是小於關係,以此類推。

c語言排序演算法:快速排序:

1、假設我們給一個int陣列進行排序,陣列中數字初始序列為int a[9]=

2、分析快速排序的原理前,我們先宣告一些東西,首先設定一個臨時變數用來存放隨機取出陣列中的一個數,一般我們取陣列的第一個元素也就是說temp=a[0],同時設定兩個遊標分別指向陣列第一個元素和最後一個元素。

三、演算法的基本運算步驟為:1、依次比較陣列的後遊標所指與temp的大小,如果tempa[j],則停止移動,將a[j]賦值給a[i]

四、演算法的基本運算步驟為:2、依次比較陣列的前遊標所指與temp的大小,如果temp>a[i],則i++,直到遇到第一個temp五、演算法運算步驟為:3、判斷i是否等於j,如果不相等則迴圈1、2步,直到i等於j,則完成一次快速排序。

六、演算法解釋:這樣一次迴圈做完後結果就是比temp小的儘量放在temp前,比temp大的儘量放在temp後。但是這種順序不是穩定的,會有調整。

因此快速排序不是一種穩定的排序。以下是實現程式。

七、一次排序完之後在分別對temp前的陣列元素和temp後的陣列元素分別進行快排,直到陣列元素個數為1則停止。

2樓:堂婷陸良朋

你可以看看字典裡的單詞是怎麼排序的啊,先大寫字母,然後小寫字母吧比如a,

a,ab,

abc,

ac排序應該是

a,a,

ab,abc,

ac先比較第一個字元,a比a在前,所以第一個是a,比較第二個,a只有一個字元,自然最小,後面是b比c小,所以ab,abc在ac前,ab,abc再比較,第三個字元,ab沒有了,就排在abc前

c語言中說的按字典順序是什麼意思???

3樓:淑婷

就是說,將多個字串的同一位置的字元按照26個字母的順序進行比對。a最小,z最大。

a < b;

aa < ab;  因為第二位置上,前面字串是a,後面字串是b,所以是小於關係,以此類推。

c語言排序演算法:快速排序:

1、假設我們給一個int陣列進行排序,陣列中數字初始序列為int a[9]=

2、分析快速排序的原理前,我們先宣告一些東西,首先設定一個臨時變數用來存放隨機取出陣列中的一個數,一般我們取陣列的第一個元素也就是說temp=a[0],同時設定兩個遊標分別指向陣列第一個元素和最後一個元素。

三、演算法的基本運算步驟為:1、依次比較陣列的後遊標所指與temp的大小,如果tempa[j],則停止移動,將a[j]賦值給a[i]

四、演算法的基本運算步驟為:2、依次比較陣列的前遊標所指與temp的大小,如果temp>a[i],則i++,直到遇到第一個temp

五、演算法運算步驟為:3、判斷i是否等於j,如果不相等則迴圈1、2步,直到i等於j,則完成一次快速排序。

六、演算法解釋:這樣一次迴圈做完後結果就是比temp小的儘量放在temp前,比temp大的儘量放在temp後。但是這種順序不是穩定的,會有調整。

因此快速排序不是一種穩定的排序。以下是實現程式。

七、一次排序完之後在分別對temp前的陣列元素和temp後的陣列元素分別進行快排,直到陣列元素個數為1則停止。

4樓:匿名使用者

你可以看看字典裡的單詞是怎麼排序的啊,先大寫字母,然後小寫字母吧比如a, a, ab, abc, ac排序應該是a, a, ab, abc, ac

先比較第一個字元,a比a在前,所以第一個是a,比較第二個,a只有一個字元,自然最小,後面是b比c小,所以ab,abc在ac前,ab,abc再比較,第三個字元,ab沒有了,就排在abc前

5樓:匿名使用者

字典序這個東東的來歷用我們查閱字典的經驗來解釋一定是最合適不過了...誰也不想..在一個混亂編輯的字典裡面查一個字..(- -不知道 有這樣的字典麼...)

這個...如果手邊有英文字典的話會更好...英文字典是沒有檢字表的...總是可以按現在翻頁面確定所要找的那個單詞在前面還是後面......

不知道小時侯大家有沒有在書的側頁寫過名字和班級......寫在那裡的字會有一種朦朧的感覺...

如果您的字典夠厚實的話...側頁也一定會有加深的標籤...如果再厚一點的話...標籤裡可以寫下a,b,c,d..如果更厚重一點的書...(我唯一見

過的一本是...某超級化學手冊..第78版..)會在側頁的位置壓出標籤...

(...記得中考的時候...政治歷史開卷...家人曾經在每本課本的章節的位置貼上商店裡用作**標籤的小紙條...嘿嘿...)

對於類似字典這樣需要經常進行檢索的東西...字典序的發明是很自然的...

人們為了可以找到單詞所在的位置...需要可以通過它的第一個字母就迅速確定它在書哪一塊...再根據第二個字母...再縮小這個範圍..

(其實我們不一定會用上每一個字母...只要限制的範圍很小就很好...)

這樣..一個英文單詞可以算是一個字串...(很多情況下我們可以直接對字串進行比較....這個時候用到的就是字典序了..)

漢語字典還是不太一樣的額...通常裡頭會有兩種檢字表...前面是拼音..後面用的是部首...後面這個還比較麻煩..得學上一陣子...雖然有時

候我們也不得不用它...

數字也可以作為特別的字串...這種情況下...如果我們用字典序進行比較...就有可能會出現下面這種情況...

"100">"1000"..(加引號的目的是為了區別數字..與數字串..)

這個好象沒道理的樣子.."1000"怎麼比"100"還要小一些呢...

事實上呢.在計算機裡...我們會這麼看..和之前一樣...我們會首先比較第一個字元...

這裡"1"='1'..(已經可以看到區別了..在數中..數字因為位置的不同會有不同的意義..而這裡.這種分別變的不一樣了...)

..一步比較...還沒有辦法分辨出它們的大小...只好再比較之後的數...

這種情況回直到最後一次嘗試...第一個字串已經空掉之前...

如果硬要比較的話...

空格的ascii碼值是32.(我覺得ascii碼還是用兩位十六進位制表示比較合適拉...咳咳..

書上告訴我..要在十六進位制前加"0x"..注意是零艾克絲..不是嘔哎克絲..額..雖然我也不知道是為啥.而且不得不承認這個還真不好用眼睛區

分.#24..0x20)..

當然這裡還不是空格...

真正意義上的虛無.. "" 的ascii碼值是0x00...

而數字0是0x30..

我們是不是應該給字典序...一個準確的數學描述吶- -...

(這個...我覺得是不是像s1

拉?..我覺得在這裡...它好象沒什麼幫助的樣子..不如用程式語言或者自然語言描述好...)

恩...這樣看來...排列中出現的順序並不是完全典型的字典序..如果把它看做字串..它的長度是固定的...並且每一個位置的元素總是取於

前面的一些數字...

好好理解理解.......

6樓:宋發元

#include

#include

main()

for(i=1;i<5;i++)

for(j=0;j<5-i;j++)

if(strcmp(a[j],a[j+1])<0)for(i=0;i<5;i++)

puts(a[i]);}

c語言中的systempause是什麼意思

素質流氓範 標頭檔案是副檔名為 h 的檔案,包含了 c 函式宣告和巨集定義,被多個原始檔中引用共享。有兩種型別的標頭檔案 程式設計師編寫的標頭檔案和編譯器自帶的標頭檔案。在程式中要使用標頭檔案,需要使用 c 預處理指令 include 來引用它。前面我們已經看過 stdio.h 標頭檔案,它是編譯器...

在c語言中起什麼作用,C語言中的 是個什麼意思啊 有什麼用啊

模數運算子 計算第二個運算元除第一個運算元後的餘數。所有數值型別都具有預定義的模數運算子。希望對你有幫助 求餘數用的 比如10 3 結果為1 10 2 結果為0 我來總結的說一下吧 1.用來整數求餘 如4 3 1 2.放在特定小寫字母前用來控制輸入或輸出格式常用的有 d 整形 f 實數 c 字元 s...

c語言中include是什麼,C語言中include是什麼

include 是c語言的關鍵字 c語言有自己的函式庫,你要是想要用函式庫裡的函式就必須把包含這些函式的檔案包含進來,這時就需要用include關鍵字了,舉個例子 include stdio.h中包含基本輸入輸出函式祝你好運!包含指令,比如要使用printf scanf gets等函式就需要包含st...