Windows資源管理器對帶數字的檔名排序是如何實現的

2021-10-10 22:19:44 字數 2515 閱讀 7223

1樓:dt__________哥

可能是會判斷 前面如果是數字的話 自動按位數在前面補零

猜的...

2樓:匿名使用者

兩個檔名或目錄名進行帶阿拉伯數字的排序,演算法是相當簡單的。基本思路還是兩個檔名或目錄名的字串從左到右逐位比較,但需注意幾點:

(1)兩個字串中的連續為數字的子字串要視為一個整體「位」來比較。也是採用從左到右逐位比較的方法,比較之前先在位數少的數字串前填充0使兩個數字串位數相等;

(2)進行比較時不能偷懶用先轉換成數字再相減看結果是正是負還是零的方法,因為數字位數可能很長超過long型的長度限制;

(3)兩個位數不同但數學上相等的數字,它們實際上是有先後次序的:比如123和00123,它們數學上是相等的,但位數多的00123要排在前面。

我這裡給出一個c#的帶數字排序程式,已經除錯成功可以直接拿來用。

更進一步,程式還可以進一步增加中文數字排序的功能,如「三」應該排在「六」之前。windows可能只是簡單按照漢字拼音字母順序來排序,所以資源管理器裡可以看到檔名「三」是該排在「六」之後的,而且不象阿拉伯數字那樣,windows沒有登錄檔修改等配置方法來開啟或關閉中文數字排序,畢竟windows是英美人設計的不是中國人嘛從一開始就沒有考慮漢字的問題,即使它是中文版。程式加入中文數字排序比阿拉伯數字排序更麻煩,因為同一個數字可能有多箇中文數字表示方法,比如12可以說十二也可以說一十二,360可以說三百六十也可以說三百六。

帶阿拉伯數字的字串數字排序c#源程式:

//- 如果 filenamex 小於(排序在前) filenamey,則返回 -1 。

//- 如果 filenamex 大於(排序在後) filenamey,則返回 1 。

//- 如果 filenamex 等於 filenamey,則返回 0。

本應用中,因為輸入的是同一目錄下的檔名或目錄名,它們是不會重名的,所以方法返回0是不可能的。

int numericalsorting(string filenamex, string filenamey)

else if (a[i] != b[j])

return a[i].compareto(b[j]);

//以下程式是在前面比較相等的情況下為下一次while迴圈中的後續位比較做準備。如果a或b至少有一個前面的比較已經到達最後一個字元了,則可以立即得出排序結果而無需再比較下去

if (i == a.length - 1 && j == b.length - 1)

return 0;

else if ((i == a.length - 1) && (j < b.length - 1))

return -1;

else if ((i < a.length - 1) && (j == b.length - 1))

return 1;

i++;

j++;}}

windows中檔案或者檔名是按照什麼原則排序的

3樓:張馳管理諮詢****

舉個例子,假如你的資料夾有1.jpg、2.jpg、……、20.

jpg這樣一些**檔案,在windows 7資源管理專器裡會看到他們完全按屬照數字大小順序排列。但使用其他看圖軟體進行重排列時,10.jpg會緊跟在1.

jpg後面出現,然後才是2.jpg,接著又是20.jpg,也就是說,他們是按照首字母排序的,若首字母相同則看下一位字母。

如果你習慣類似看圖軟體這樣的排序規則,倒是可以讓windows 7通融一下,改變預設的排序規則。

在開始選單搜尋框裡輸入「gpedit.msc」,回車開啟組策略編輯器,依次「計算機配置」—「管理模板」—「windows 元件」—「windows 資源管理器」,在右邊視窗找到「關閉 windows 資源管理器中的數值排序」,雙擊開啟配置視窗,將未配置改為已啟用,然後確定退出。

這樣可以關閉數值排序  回到**資料夾,重新整理一下就會看到所有**都按照字母序排列了。  如果一段時間後不適應新的排序規則,可以再次通過組策略編輯器將「關閉 windows 資源管理器中的數值排序」改為未配置或已禁用,將排序方式恢復原樣。

4樓:好程式設計師

工具:電腦

方法:首先開啟桌面上的此電腦,然後選擇檢視

2、接下來選擇排序方式,在這裡就可以看到預設的排序方式了

windows檔案按名稱排序的規則

5樓:清風悠然悅讀群書

在windows的資源管理器中,不管檔案(或資料夾)名是英文還是中文,當我專

6樓:吾心激盪

數字是按bai數值大小由小到大排列,du

同等大小按zhi前導零數目由多到dao

少排列。內也就是說第一個例子

容是對的,你之前出現的情況應該是策略組中更改過了(win 7可以在組策略中啟用「關閉windows資源管理器中的數值排序」將此規則更改為按每個數字位依次比較排序,其它版本未確認)

7樓:山磊

是根據數字大小和字母先後排的,

如何啟動資源管理器,怎麼開啟資源管理器???

你的方法是啟用 工作管理員 而不是 資源管理器 啟用 資源管理器 可以右擊桌面上的 我的電腦 網路上的芳鄰 站 和右擊 開始 如果是 工作管理員 按下ctrl shift esc也是可以開啟的 雙擊我的電腦 工具 資料夾選項 開啟 檔案型別 的選項卡 找一個叫資料夾的選項,選中之後點高階,然後選中e...

資源管理器停止工作怎麼辦,電腦資源管理器老是停止工作怎麼辦?

1 如果上面的方法不能解決,先軟後硬,重新安裝作業系統,不要安裝軟體 補丁 驅動等,看看關機還有問題嗎?如果沒有在逐步的安裝驅動 補丁 軟體,找出不合適的東西就不要安裝了。請注意 如果還原系統或重灌後,安裝驅動 補丁 軟體等東西時,一定要將影響你這次出事的東西不要在安裝上去了,否則就白還原或重灌了。...

1在Windows中,開啟 資源管理器 視窗後,要改變

第一種 在 空白 處,右鍵單擊 選擇 檢視方式 可以任意選擇你所想要的方式。第二種 開啟 資源管理器 後,上面的 工具欄 上,有個 檢視 按鈕,可以選擇縮圖 平鋪 圖示 詳細 任選一個就好!在空白處右擊,選擇排列圖示 在windows xp中,開啟 資源管理器 視窗後,要改變檔案或資料夾的顯示方式,...