複製鏈接
請複製以下鏈接發送給好友

sort

鎖定
sort(英文單詞)
n. 種類;方式;品質
vi. 分類;協調;交往
vt. 將…分類;將…排序;挑選出某物 [1] 
中文名
種類
外文名
sort
名詞n
1.種類,品種,類型
及物動詞vt
.把...分類
C++頭文件
algorithm

sort單詞發音

英 [sɔːt] 美 [sɔːrt] [1] 

sort短語搭配

sort of 有幾分地;到某種程度;稍稍
some sort of 某種的;多少有些;彷彿
sort out 挑選出
of sorts 各種各樣的
that sort of thing 那類事情 [1] 

sort雙語例句

  • 1He's a reasonable sort of person.他是那種通情達理的人。《柯林斯英漢雙解大詞典》
  • 2What sort of school did you go to?你上的是哪一類學校?《柯林斯英漢雙解大詞典》
  • 3So that's twenty of each sort, right?那麼,每一種都是二十個,對不對?《牛津詞典》
  • 4That sort of house is back in fashion.那種房子又時興起來了。《柯林斯英漢雙解大詞典》
  • 5She was a very vigorous sort of person.她是那種精力非常旺盛的人。《柯林斯英漢雙解大詞典》
  • 6We have this sort of information on tap.我們可隨時向您提供這種資料。《牛津詞典》
  • 7Does he prefer a particular sort of music?他更喜歡某種特別的音樂嗎?《柯林斯英漢雙解大詞典》
  • 8That sort of attitude really gets my back up!那種態度實在叫我惱火!《牛津詞典》
  • 9This sort of behaviour will not be tolerated.這種行為是不能容許的。《牛津詞典》
  • 10These sort of things don't happen in real life.這類事情在現實生活中不會發生。《牛津詞典》
  • 11I like camping, climbing and that sort of thing.我喜歡露營、爬山之類的活動。《牛津詞典》
  • 12This sort of increase simply cannot be justified.這種增長完全沒有道理。《柯林斯英漢雙解大詞典》
  • 13There's no way we could afford that sort of money.我們無論如何都花不起那種錢。《牛津詞典》
  • 14He's the sort of person who only cares about money.他這種人一心只想着錢。《牛津詞典》
  • 15That sort of romantic attitude cuts no ice with moneymen.那種羅曼蒂克的態度對金融家們不起作用。《柯林斯英漢雙解大詞典》
  • 16Let's try to sort out the mess.我們來收拾一下殘局吧。《牛津詞典》
  • 17She's a sensible sort of person.她屬於那種通情達理的人。《牛津詞典》
  • 18It's a funky sort of rhythm.這是一種音低節奏強的旋律。《柯林斯英漢雙解大詞典》
  • 19We're sort of doing it the wrong way.我們的方法好像有點不對頭。《牛津詞典》
  • 20I was just an average sort of student.我只是一個普通的學生。《牛津詞典》
  • 21They spoke a sort of fractured German.他們講德語結結巴巴。《牛津詞典》
  • 22I'm not a very domestic sort of person.我不是那種很喜歡待在家裏的人。《牛津詞典》
  • 23It will all sort itself out in the end.問題最後都會自行解決。《牛津詞典》
  • 24They're a sort of greenish-blue colour.它們的顏色近乎帶淡綠的藍色。《牛津詞典》
  • 25He's pulling some sort of trick on you.他在耍花招騙你呢。《牛津詞典》
  • 26Wade was a hearty, athletic sort of guy.韋德是那種精力充沛、身體強壯的傢伙。《柯林斯英漢雙解大詞典》
  • 27That sort of behaviour is not acceptable.那樣的行為是不允許的。《牛津詞典》
  • 28I refuse to rise to that sort of comment.我拒絕對那樣的評論作出反應。《牛津詞典》
  • 29She saw him as a sort of surrogate father.在她心目中,他彷彿是能替代父親角色的人。《牛津詞典》
  • 30Everyone said he was a decent sort of guy.人人都説他是個品行端正的小夥子。《牛津詞典》 [1] 

sort單詞意思

名詞n. [C]
1.種類,品種,類型
All sorts of lamps are available in that shop.
在那家商店可買到各式各樣的燈具。
That's just the sort of thing I want.
那正是我所需要的那種東西。
2.性質;性格
3.(常與修飾語連用)某種人,某類人[S1]
She's a happy-go-lucky sort.
她是個樂天派。
4.方式,樣子
5.【電腦】排序
及物動詞vt.
1.把...分類
They sort apples by grade.
他們把蘋果按等級分類。
2.挑選,區分
Can't you sort the good from the bad?
你難道不會區分好壞嗎?
3.整理

sortC++

sort頭文件

#include <algorithm>

sort原型

template< class RandomIt >
void sort( RandomIt first, RandomIt last );
(1)
template< class RandomIt, class Compare >
void sort( RandomIt first, RandomIt last, Compare comp );
(2)
sort(first,last)
注意:此處的first,last是兩個地址,且有如下特性:
一般的,last並非所需排列數組的最後一個元素,而是first+元素個數,例如以下程序段:
int a[4] = {4,3,2,1};
此時對數組a進行排列,命令為:
sort(a,a+4);
在[first, last]中的元素進行排序按升序排列
first, last
-
範圍內的元素進行排序
comp
-
比較函數,如果第一個參數小於第二個該函數,返回true。比較函數的簽名應該相當於以下
:bool cmp(const Type1 &a, const Type2 &b);
簽名不需要const &,但是函數不能修改對象傳遞給它。類型1和類型2他類型必須是這樣一個類型的對象的引用,然後RandomIt可以隱式轉換為兩人。

sort命令

簡介
sort是Linux命令,主要用於排序文件、對已排序的文件進行合併,並檢查文件以確定它們是否已排序。

sort語法

sort [ -A ] [ -b ] [ -c ] [ -d ] [ -f ] [ -i ] [ -m] [ -n ] [ -r ] [ -u ] [ -o OutFile ] [ -t Character ] [ -T Directory ] [ -y [ Kilobytes ] ] [ -z RecordSize ] [ [ + [ FSkip ] [ .CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] [ - [ FSkip ] [ .CSkip ] [ b ] [ d ] [ f ] [ i ] [ n ] [ r ] ] ] ... [ -k KeyDefinition ] ... [ File ... ]

sort描述

sort 命令對 File 參數指定的文件中的行排序,並將結果寫到標準輸出。如果 File 參數指定多個文件,那麼 sort 命令將這些文件連接起來,並當作一個文件進行排序。-(減號)代替文件名指定標準輸入。如果您不指定任何文件名,那麼該命令對標準輸入排序。可以使用 -o 標誌指定輸出文件。
如果不指定任何標誌,sort 命令基於當前語言環境的整理順序對輸入文件的所有行排序。

sort關鍵字

排序關鍵字是輸入行的一部分,由字段號和列號指定。字段是輸入行的組成部分,由字段分隔符分隔。缺省字段分隔符是由一個或多個連續空格字符組成的序列。使用 -t 標誌可指定不同的字段分隔符。在 C 語言和英語語言環境下,製表符和空格字符都是空格符
使用排序關鍵字時,sort 命令首先根據第一個排序關鍵字的內容對所有行排序。然後,根據第二個排序關鍵字的內容,對所有第一個排序關鍵字相同的行排序,如此進行下去。按照排序關鍵字在命令行中出現的順序給它們編號。如果兩行對所有排序關鍵字的排序都相同,則對全部行依據當前語言環境的整理順序進行比較。
對字段中的列進行編號時,缺省字段分隔符中的空格符將作為後繼字段計數。前導空格不計作第一字段的一部分,-t 標誌指定的字段分隔符將不作為字段的一部分計數。可使用 -b 標誌忽略前導空格符。
可使用下列兩種方法定義排序關鍵字:
* -k KeyDefinition
* FSkip.CSkip(廢棄版本)。
使用 -k 標誌定義排序關鍵字
-k KeyDefinition 標誌採用下列形式:
-k [ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
排序關鍵字包括所有以 FStart變量指定的字段和 CStart 變量指定的列開頭的及以 FEnd 變量指定的字段和 CEnd 變量指定的列結束的字符。如果不指定 Fend,就假定行的最後一個字符。如果不指定 CEnd,就假定 FEnd 字段的最後一個字符。KeyDefinition 變量中的任何字段號或列號都可以省略。缺省值為:
FStart 行開頭
CStart 字段第一列
FEnd 行結束
CEnd 字段最後一列
如果字段間有任意空格,sort 就把它們看作分隔的字段。
Modifier變量的值可以是字母 b、d、f、i、n 或 r 中的一個或多個。修飾符僅應用於它們連接的字段定義,與同一字母的標誌有同樣的效果。修飾符字母 b 僅應用於其連接的字段定義的末尾。例如:
-k 3.2b,3r
指定排序關鍵字,從第三字段的第二非空格列開始並擴展至第三字段結束,對這個關鍵字的排序以逆向整理順序完成。如果 FStart 變量和 CStart 變量在命令行末尾以外或在 FEnd 變量和 CEnd 變量之後,那麼該排序關鍵字被忽略。
排序關鍵字也可用下列方式指定:
[+[FSkip1] [.CSkip1] [Modifier] ] [-[FSkip2] [.CSkip2] [Modifier]]
+FSkip1 變量指定跳過的字段數以到達排序關鍵字第一字段,+CSkip 變量指定在該字段中跳過的列數以到達排序關鍵字第一個字符。-FSkip 變量指定跳過的字段數以到達排序關鍵字後的第一個字符,-CSkip 變量指定在該字段中跳過的列數。可以省略任何要跳過的字段和列。缺省值為:
FSkip1 行開頭
CSkip1 零
FSkip2 行結束
CSkip2 零
Modifier 變量指定的修改量與 -k 標誌關鍵字排序定義中的相同。
因為 +FSkip1.CSkip1 變量指定到達排序關鍵字前要跳過多少字段和列,所以這些變量指定的字段號和列號通常比排序關鍵字本身的字段號和列號小 1。例如:
+2.1b -3r
指定排序關鍵字,從第三字段的第二非空格列開始並擴展至第三字段結束,對這個關鍵字的排序以逆向整理順序完成。語句 +2.1b 指定跳過兩個字段,然後跳過前導空格和另一列。如果 +FSkip1.CSkip1 變量在命令行末尾以外或在 -FSkip2.CSkip2 變量之後,則忽略該排序關鍵字。
注:一行的最大字段數為 10。

sort標誌

注:在任何排序關鍵字定義前出現的 -b、-d、-f、-i、-n 或 -r 標誌應用於所有排序關鍵字。-b、-d、-f、-i、-n 或 -r 標誌都不能單獨出現在 -k KeyDefinition 之後;如果它們作為修飾符連接 KeyDefinition 變量,那麼就只應用於連接排序關鍵字。如果這些標誌之一跟隨在 +Fskip.Cskip 或 -Fskip.Cskip 排序關鍵字定義後,那麼該標誌只能用於此排序關鍵字。
-A 使用 ASCII 整理順序代替當前語言環境的整理順序在逐字節的基礎上排序。
-b 忽略前導空格製表符,找出字段的第一或最後列。
-c 檢查輸入是否已按照標誌中指定的排序規則進行排序。如果輸入文件排序不正確,就返回一個非零值。
-d 使用字典順序排序。比較中僅考慮字母、數字和空格。
-f 比較前將所有小寫字母改成大寫字母。
-i 比較中忽略所有非打印字符
-k KeyDefinition 指定排序關鍵字。KeyDefinition 選項的格式為:
[ FStart [ .CStart ] ] [ Modifier ] [ , [ FEnd [ .CEnd ] ][ Modifier ] ]
排序關鍵字包括所有以 FStart 變量指定的字段和 CStart 變量指定的列開頭的字符及以 FEnd 變量指定的字段和 CEnd 變量指定的列結束的字符。Modifier 變量的值可以是 b、d、f、i、n 或 r。 修飾符與同一字母的標誌等價。
-m 只合並多個輸入文件;假設輸入文件已經排序。
-n 按算術值對數字字段排序。數字字段可包含前導空格、可選減號、十進制數字、千分位分隔符和可選基數符。對包含任何非數字字符的字段進行數字排序會出現無法預知的結果。
-o OutFile 將輸出指向OutFile參數指定的文件,而不是標準輸出。OutFile 參數值可以與 File 參數值相同。
-r 顛倒指定排序的順序。
-t Character 指定 Character 為單一的字段分隔符。
-u 禁止按照排序關鍵字和選項的所有等同排序(每一組行中一行除外)。
-T Directory 將創建的所有臨時文件放入 Directory 參數指定的目錄中。
-y[Kilobytes] 用 Kilobytes 參數指定的主存儲的千字節數啓動 sort 命令,並根據需要增加存儲量。(如果 Kilobytes 參數指定的值小於最小存儲站點或大於最大存儲站點,就以這個最小存儲站點或最大存儲站點取代)。如果省略 -y 標誌,sort 命令以缺省的存儲大小啓動。-y0 標誌用最小存儲啓動,而 -y 標誌(不帶 Kilobytes 值)用最大存儲啓動。sort 命令使用的存儲量顯著地影響性能。以大存儲量對小文件排序將很浪費。
-z RecordSize 如果正在排序的任一行大於缺省的緩衝區大小,要防止出現異常終止。指定 -c 或 -m 標誌時,省略排序階段,使用系統的缺省緩衝大小。如果已排序行超出這一大小,排序異常終止。-z 選項指定排序階段最長行的記錄,因而可在合併階段分配足夠的緩衝區。RecordSize 必須指明等於或大於要合併的最長行的字節值。

sort退出狀態

該命令返回以下出口值:
0 所有輸入文件成功輸出,或指定了 -c 且正確排序了輸入文件。
1 在 -c 選項下,文件沒有按指定排序,或如果指定 -c 和 -u 選項,找到了兩個具有相同關鍵字的輸入行。
>1 發生錯誤。

sort排序

1. 要在 LC_ALL、LC_COLLATE 或 LANG環境變量設置為 En_US 的情況下排序 fruits 文件,請輸入:
LANG=En_US sort fruits
此命令序列顯示以升序詞典順序排序的 fruits 文件的內容。每一列的字符,包括空格、數字和特殊字符都經一一比較。例如,如果 fruits 文件包含文本:
banana
orange
Persimmon
apple
%%banana
apple
ORANGE
sort 命令顯示:
%%banana
ORANGE
Persimmon
apple
apple
banana
orange
在 ASCII 整理序列中,%(百分號)在大寫字母前,大寫字母在小寫字母前。如果您當前的語言環境指定 ASCII 之外的字符集,結果可能不同。

sort順序排序

sort -d fruits
此命令序列排序和顯示 fruits 文件的內容,並且只比較字母、數字和空格。如果 fruits 文件與示例 1 相同,那麼 sort 命令顯示:
ORANGE
Persimmon
apple
apple
%%banana
banana
orange
-d 標誌忽略 %(百分號字符,因為它不是個字母、數字或空格。(即 %%banana 被 banana 取代)。

sort字母分組

要將包含大寫字母和具有類似小寫行的特殊字符行分組,請輸入:
sort -d -f fruits
-d 標誌忽略特殊字符,-f 標誌忽略大小寫差異。將 LC_ALL、LC_COLLATE 或 LANG 環境變量設置為 C 的情況下,fruits 文件的輸出結果變為:
apple
apple
%%banana
banana
ORANGE
orange
Persimmon

sort排序

sort -d -f -u fruits
-u 標誌告訴 sort 命令除去重複的行,使文件中的每一行唯一。此命令序列顯示:
apple
%%banana
orange
Persimmon
不僅除去重複的 apple,而且也除去了 banana 和 ORANGE。除去這些是因為 -d 標誌忽略 %% 這個特殊字符,-f 標誌忽略大小寫差異。

sort實例

sort -u +0 -d -f +0 fruits
輸入 +0 -d -f 完成的排序與示例 3 中 -d -f 的排序類型相同,+0 進行另一項比較以區分不一樣的行。這防止 -u 標誌將它們除去。
示例 1 所示的 fruits 文件中,添加的 +0 將 %%banana 與 banana 及 ORANGE 與 orange 區分開來。然而,apple 的兩個實例是相同的,所以其中之一被刪除。
apple
%%banana
banana
ORANGE
orange
Persimmon

sort字符

sort -t: +1 vegetables
此命令序列排序 vegetables 文件,對每一行上第一個冒號後的文本進行比較。+1 告訴 sort 命令忽略第一字段,從第二字段的開始到該行的結束進行比較。-t: 標誌告訴 sort 命令冒號分隔字段。如果 vegetables 包含:
yams:104
turnips:8
potatoes:15
carrots:104
green beans:32
radishes:5
lettuce:15
那麼,將 LC_ALL、LC_COLLATE 或 LANG 環境變量設置為 C 的情況下,sort 命令將顯示:
carrots:104
yams:104
lettuce:15
potatoes:15
green beans:32
radishes:5
turnips:8
注意數字沒有按照數字排序。當用字典式分類從左至右比較每一個字符時出現這種情況。換句話説,3 在 5 之前,所以 32 在 5 之前。

sort排序數字

sort -t: +1 -n vegetables
此命令序列按照第二個字段對 vegetables 文件進行數字排序。如果 vegetables 文件與示例 6 中的相同,那麼 sort 命令將顯示:
radishes:5
turnips:8
lettuce:15
potatoes:15
green beans:32
carrots:104
yams:104
8. 要對多個字段排序,請輸入:
sort -t: +1 -2 -n +0 -1 -r vegetables
sort -t: -k2,2 n -k1,1 r vegetables
此命令序列對第二字段(+1 -2 -n)進行數字排序。在這個順序中,它以逆字母順序(+0 -1 -r)對第一字段排序。將 LC_ALL、LC_COLLATE 或 LANG 環境變量設置為 C 的情況下,輸出將類似於:
radishes:5
turnips:8
potatoes:15
lettuce:15
green beans:32
yams:104
carrots:104
此命令按數字順序對行排序。當兩行數字相同時,它們以逆字母順序出現。

sort原始文件

sort -o vegetables vegetables
此命令序列將排序輸出存入 vegetables 文件( -o vegetables)。
文件
/usr/bin/sort 包含 sor排序函數

sort庫函數

sort(A)若A是向量不管是列還是行向量,默認都是對A進行升序排列。sort(A)是默認的升序,而sort(A,'descend')是降序排序。
sort(A)若A是矩陣,默認對A的各列進行升序排列
sort(A,dim)
dim=1時等效sort(A)
dim=2時表示對A中的各行元素升序排列 [2] 
看下面的例子
>> A=magic(3)
A =
8 1 6
3 5 7
4 9 2
>> sort(A)
ans =
3 1 2
4 5 6
8 9 7
>> sort(A,1)
ans =
3 1 2
4 5 6
8 9 7
>> sort(A,2)
ans =
1 6 8
3 5 7
2 4 9
===================
Matlab中給一維向量排序是使用sort函數:sort(A),排序是按升序進行的,其中A為待排序的向量;若欲保留排列前的索引,則可用[sA,index] = sort(A),排序後,sA是排序好的向量,index 是 向量sA 中對 A 的索引。 索引使排列逆運算成為可能。
事實上,這裏A ≡sA(index) ,[A恆等於sA(index)],這個結論確實很奇妙,而且很有用。不信你排序之後試下鍵入命令sA(index),看看得到的是不是就是排列前的A呢。
=====================
在Matlab中排序某個向量(一維)時,可以使用sort(A),其中A為待排序的向量,如果僅是用來排序A,那麼直接使用sort(A)即可,如果排序後還需要保留原來的索引可以用返回值,即[B,ind]=sort(A),計算後,B是A排序後的向量,A保持不變,ind是B中每一項對應於A中項的索引。排序是安升序進行的。
在Matlab中,訪問矩陣中的元素,一維用A(1)訪問向量A的第一個元素;(下標從1開始);二維用A(1,2)訪問A中第一行,第二列的元素。
由於在sort函數的結果中,是安升序排序的,要轉換成降序,先用X=eye(n)生成一個n維的單位陣,然後用X=rot90(X)將其旋轉為次對角線的單位陣,再用原來矩陣乘以X即可,如要講A逆序排列採用如下步驟:
X=eye(size(A));
X=rot90(X);
A=A*X;
假如a是一個2*n的矩陣,即兩行.
b=a(1,:);
[c,pos]=sort(b);%pos為排序後的下標,c為第一行的排序結果;
a(2,:)=a(2,pos);%第二行按照第一行排序的下標對應
a(1,:)=c;%第一行結果重新賦給a 的第一行
以下適用於m*n的矩陣按第一行排序
[ b, pos ] = sort( a( 1, : ) );
a = a( :, pos );
=======================
matlab按某一列排序,其他列不變辦法b=sortrows(a,2) %a 為要排序的矩陣。2表示按第幾列進行排序,整數代表升序,負數代表降序。
%將矩陣a按照第2列的升序排列,其他列不會作升序排列,而是將跟隨着第2列 的變化,保持一一對應。
b=sortrows(a,-3)
%將矩陣a按照第3列的降序排列,其他列將跟隨着第3列 的變化,保持一一對應。
data =
1 3 2
7 6 5
4 9 8
sortrows(data,1)
ans =
1 3 2
4 9 8
7 6 5
sortrows(data,-1)
ans =
7 6 5
4 9 8
1 3 2 /var/tmp sort 命令處理期間的臨時空間。
/usr/tmp 如果不能在 /var/tmp 中創建文件,是 sort 命令處理期間的臨時空間。
/tmp 如果不能在 /var/tmp 或 /usr/tmp 中創建文件,是 sort 命令處理期間的臨時空間。
二、std:sort

sort函數

sort 函數
boolsort( array &array [, int sort_flags] )
本函數對數組進行排序。當本函數結束時數組單元將被從最低到最高重新安排。
注:本函數為 array中的單元賦予新的鍵名。這將刪除原有的鍵名而不僅是重新排序。
如果成功則返回TRUE,失敗則返回FALSE
參考資料