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

時間 2021-08-30 09:10:06

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語言中的t是什麼意思,C語言中 t是什麼意思?

一個字元,一個變數名,一種類型別,型別別名,之類的吧 可以具體一點嗎親。沒懂你要問的意思啊。是想問 t嗎,那個跟dos中按tab鍵一樣的 n是換行 d t 的效果就是 輸出的數字之間間隔一個tab位 如果是 t,就是換行都意思 c語言中 t是什麼意思?n是換行 可以認為相當於回車 不準確的說 t是製...

C語言中,a p 什麼意思,c語言中 p a是什麼意思?

幸福de小陽 你好,可以這麼理解 p 是一個指標變數,他所指向的變數的型別與 a 的型別一致。p 指標指向的變數值是多少,那麼 a 就等於該值。之後 p 指標指向的那個變數值自加 1.注意 變數 這種格式的表示式值是變數值本身,賦值之後變數值才自加 1. 與 都是同級單目運算,所以他們的運算順序由結...

c語言中的systempause是什麼意思

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