結構體排序

2021-09-03 02:15:11 字數 1721 閱讀 1964

貪心演算法中不想交區間問題:題目

解題思路:定義兩個變數,乙個記為結束時間,乙個記為區間數。將結束時間排序,若相同,就將開始時間從大到小排序;若不同,就將結束時間按從小到大排序。這樣第乙個區間是確定的,再比較下乙個區間的開始時間與第乙個區間結束時間的大小,大於則加一。再將結束時間改變即可,繼續迴圈。

#include #include using namespace std ;

typedef struct time

time;

bool cmp(time a,time b)

int main()

}printf("%d",ans);

}return 0;

}

再將結構體排序舉兩個例子

1.摘蘋果

description

小明家的院子裡有一棵蘋果樹,每到秋天樹上就會結出10個蘋果。蘋果成熟的時候,小明就會跑去摘蘋果。小明有個30厘公尺高的板凳,當她不能直接用手摘到蘋果的時候,就會踩到板凳上再試試。現在已知10個蘋果到地面的高度,以及小明把手伸直的時候能夠達到的最大高度,請幫小明算一下她能夠摘到的蘋果的數目。假設她碰到蘋果,蘋果就會掉下來。

input

第一行輸入n(0<n<100)表示測試資料組數,接下來每組測試輸入包括兩行資料。

第一行包含10個100到200之間(包括100和200)的整數(以厘公尺為單位)分別表示10個蘋果到地面的高度,兩個相鄰的整數之間用乙個空格隔開。

第二行只包括乙個100到120之間(包含100和120)的整數(以厘公尺為單位),表示小明把手伸直的時候能夠達到的最大高度。

output

輸出包括一行,這一行只包含乙個整數,表示小明能夠摘到的蘋果的數目。 sample input

1100 200 150 140 129 134 167 198 200 111

110sample output

5

#include #include using namespace std ;

bool cmp(char a,char b)

int main()

int m,h;

int sum = 0;

scanf("%d",&m);

h = m + 30;

sort(arr,arr + 10,cmp);//sort(陣列名,陣列名+裡面數的個數,cmp)

for(int j = 0;j < 10;++j)

printf("%d\n",sum);}}

return 0;

}

2.ascii碼排序

description

輸入三個字元(可以重複)後,按各字元的ascii碼從小到大的順序輸出這三個字元。

input

第一行輸入乙個數n,表示有n組測試資料。後面的n行輸入多組資料,每組輸入資料都是佔一行,有三個字元組成,之間無空格。

output

對於每組輸入資料,輸出一行,字元中間用乙個空格分開。

sample input

2qwe

asdsample output

e q w

a d s

#include #include using namespace std;

bool cmp(char a,char b)

int main()

return 0;

}

結構體及結構體排序

1 定義的方法struct node 用strut定義乙個結構體,node是結構體的名字,可以自己瞎取。p 1000 這樣你就定義了乙個神奇的陣列!沒錯,它就是node型陣列!上面的 還在結構體的末尾定義了乙個該型的陣列,其實這個陣列不一定要有,而且也可以在主函式中定義,但是感覺上用的比較多,而且這...

結構體排序

description excel可以對一組紀錄按任意指定列排序。現請你編寫程式實現類似功能。input 測試輸入包含若干測試用例。每個測試用例的第1行包含兩個整數 n 100000 和 c,其中 n 是紀錄的條數,c 是指定排序的列號。以下有 n 行,每行包含一條學生紀錄。每條學生紀錄由學號 6位...

結構體排序

結構體排序 本關任務 有n個學生的資訊 包括學號,姓名,成績 要求按照成績的高低順序輸出學生的資訊。補充 要求按照成績的高低順序輸出學生的資訊。平台會對你編寫的 進行測試,比對你輸出的數值與實際正確數值,只有所有資料全部計算正確才能通過測試 測試輸入 5 10101 zhang 78 10103 w...