2010-02-07 83 views
8

我有串的名單,這是最有可能的,但不能保證包含數字組成的列表,即排序字符串列表值

{"1", "6", "2", "21", "89"} 

什麼是字符串列表進行排序,以便方式它會始終以升序顯示?

因爲字符串可以包含非數字字符,所以在進行排序之前,我無法將字符串解析爲數字。我不想通過列表並檢查每個組件的數字並進行排序。爲此目的,是否已有圖書館?

在混合使用數字和非數字字符串項目的情況下,數字字符串總是優先於非數字字符串項目。

+1

你正在尋找的短語是「自然順序排序」。 – Ken 2010-02-08 15:41:10

回答

0

如果這是C#,那就是Int32.TryParse()的用途。

如果這是C++,那麼std :: string :: find_first_not_of是一個不錯的選擇。傳遞一個字符串,其中包含數字0到9(加上減號和加號?)的ascii字符,如果它返回-1,則它是一個整數。

+2

不,他希望能夠以自然的方式對{a1,a10,a11,a2,a3}這樣的列表進行排序:{a1,a2,a3,a10,a11}。 TryParse顯然不起作用。 – Steven 2010-02-07 14:27:49

1

你想元素進行排序,就像Windows XP資源管理器不使用文件。有關如何操作,請參閱this article