excel可以對一組紀錄按任意指定列排序。現請編寫程式實現類似功能。
輸入的第一行包含兩個正整數n(
≤10
5) 和
c,其中
n是紀錄的條數,
c是指定排序的列號。之後有
n行,每行包含一條學生紀錄。每條學生紀錄由學號(6位數字,保證沒有重複的學號)、姓名(不超過8位且不包含空格的字串)、成績([0, 100]內的整數)組成,相鄰屬性用1個空格隔開。在n
行中輸出按要求排序後的結果,即:當c=
1時,按學號遞增排序;當c=
2時,按姓名的非遞減字典序排序;當c=
3時,按成績的非遞減排序。當若干學生具有相同姓名或者相同成績時,則按他們的學號遞增排序。
3 1
000007 james 85
000010 amy 90
000001 zoe 60
000001 zoe 60
000007 james 85
000010 amy 90
/*
堆排序*/#include using namespace std;
typedef struct node
}node;
node stu[101000];
int n, method;
void input()
bool cmp(node stu1, node stu2)
if(method == 2)
}if(method == 3)
return false;
}void heapadjust(int s, int m)
else
}//printf("***%s %s %d %d\n", stu[0].id, stu[0].name, stu[0].score, s);
stu[s] = stu[0];
}void heapsort()
}int main()
模擬EXCEL排序
excel可以對一組紀錄按任意指定列排序。現請編寫程式實現類似功能。輸入格式 輸入的第一行包含兩個正整數n 10 5 和c,其中n是紀錄的條數,c是指定排序的列號。之後有 n行,每行包含一條學生紀錄。每條學生紀錄由學號 6位數字,保證沒有重複的學號 姓名 不超過8位且不包含空格的字串 成績 0,10...
7 37 模擬EXCEL排序
7 37 模擬excel排序 25 分 excel可以對一組紀錄按任意指定列排序。現請編寫程式實現類似功能。輸入的第一行包含兩個正整數n 10 5 和c,其中n是紀錄的條數,c是指定排序的列號。之後有 n行,每行包含一條學生紀錄。每條學生紀錄由學號 6位數字,保證沒有重複的學號 姓名 不超過8位且不...
結構體排序 模擬EXCEL排序
excel可以對一組紀錄按任意指定列排序。現請編寫程式實現類似功能。輸入格式 輸入的第一行包含兩個正整數n 10 5 和c,其中n是紀錄的條數,c是指定排序的列號。之後有 n行,每行包含一條學生紀錄。每條學生紀錄由學號 6位數字,保證沒有重複的學號 姓名 不超過8位且不包含空格的字串 成績 0,10...