7-1 多数组排序 (12 分)三种做法(冒泡排序 ; 重写sort方法 ;利用sort和栈)
生活随笔
收集整理的這篇文章主要介紹了
7-1 多数组排序 (12 分)三种做法(冒泡排序 ; 重写sort方法 ;利用sort和栈)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一:題目
3個整數數組進行整體排序,根據輸入的三個數組的元素,輸出排序后的結果(從大到小)
輸入格式:
第1個數組的長度
第1個數組的各個元素
第2個數組的長度
第2個數組的各個元素
第3個數組的長度
第3個數組的各個元素
輸出格式:
所有數組的整體排序
輸入樣例:
在這里給出一組輸入。例如:
輸出樣例:
在這里給出相應的輸出。例如:
二:上代碼
方法一:用冒泡排序
#include<bits/stdc++.h> using namespace std;struct Node{int number; }; //遞減 bool sort_number(Node a,Node b){return a.number < b.number; }int main(){vector<int>v;for(int i = 0; i < 3; i++){int nums;cin >> nums;for(int j = 0; j < nums; j++){int temp;cin >> temp;v.push_back(temp);}}//冒泡排序int flag = true;for(int i = 0; i < v.size() - 1 && flag; i++){flag = false;for(int j = v.size()-2; j >= i; j--){ if(v[j] < v[j+1]){int temp = v[j];v[j] = v[j+1];v[j+1] = temp;flag = true; }}} for(int i = 0; i < v.size(); i++){if( i == 0)cout << v[i];elsecout << ' ' << v[i]; }}方法二:重寫sort方法
#include<bits/stdc++.h> using namespace std;struct Node{int number; }; //遞減 bool sort_number(Node a,Node b){return a.number > b.number; }int main(){vector<int>v;Node *stu = new Node[30000];int sum = 0;for(int i = 0; i < 3; i++){int nums;cin >> nums;for(int j = sum; j < sum + nums; j++){cin >> stu[j].number;}sum += nums;}sort(stu,stu+sum,sort_number); for(int i = 0; i < sum; i++){if(i == 0)cout << stu[i].number;elsecout << ' ' << stu[i].number;}}利用數組和棧
#include<bits/stdc++.h> using namespace std;struct Node{int number; }; //遞減 bool sort_number(Node a,Node b){return a.number > b.number; }int main(){vector<int>v;Node *stu = new Node[30000];int sum = 0;for(int i = 0; i < 3; i++){int nums;cin >> nums;for(int j = sum; j < sum + nums; j++){cin >> stu[j].number;}sum += nums;}sort(stu,stu+sum,sort_number); for(int i = 0; i < sum; i++){if(i == 0)cout << stu[i].number;elsecout << ' ' << stu[i].number;}} 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的7-1 多数组排序 (12 分)三种做法(冒泡排序 ; 重写sort方法 ;利用sort和栈)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7-2 一元多项式的乘法与加法运算 (2
- 下一篇: OpenAI动荡之际 谷歌Meta等竞争