Board logo

標題: 排序 - vector [打印本頁]

作者: tonyh    時間: 2022-12-15 20:36     標題: 排序 - vector

本帖最後由 tonyh 於 2022-12-22 20:06 編輯

vector<int> v={5,7,3,9,8,1,2};

練習以各種可能的方式,針對 vector 做遞增與遞減排序。
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<int> v= {5,7,3,9,8,1,2};
  4. int len;

  5. bool compare(int a, int b)
  6. {
  7.     return a>b;
  8. }

  9. void show()
  10. {
  11.     for(int i: v)
  12.         cout<<i<<" ";
  13.     cout<<endl;
  14. }

  15. void show2()
  16. {
  17.     for(int i=0; i<len; i++)
  18.         cout<<v[i]<<" ";
  19.     //cout<<v.at(i)<<" ";
  20.     cout<<endl;
  21. }

  22. void show3()
  23. {
  24.     //for(vector<int>::iterator it=begin(v); it!=end(v); it++)
  25.     for(auto it=begin(v); it!=end(v); it++)
  26.         cout<<*it<<" ";
  27.     cout<<endl;
  28. }

  29. int main()
  30. {
  31.     show();
  32.     len=v.size();
  33.     //遞增
  34.     //sort(v.begin(), v.end());
  35.     sort(begin(v), end(v));
  36.     //show();
  37.     show3();

  38.     //遞減
  39.     //sort(v.rbegin(), v.rend());
  40.     //sort(rbegin(v), rend(v));
  41.     sort(begin(v), end(v), compare);

  42.     show();

  43.     return 0;
  44. }
複製代碼

作者: 黃宇綸    時間: 2022-12-22 20:07

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define int ll
  5. #define FOR(i,a,b) for(int i=a;i<b;i++)
  6. #define REP(i,n) FOR(i,0,n)
  7. #define REP1(i,n) FOR(i,1,(n)+1)
  8. #define RREP(i,n) for(int i=(n)-1;i>=0;i--)
  9. #define f first
  10. #define s second
  11. #define pb push_back
  12. #define ALL(x) x.begin(),x.end()
  13. #define SZ(x) (int)(x.size())
  14. #define SQ(x) (x)*(x)
  15. #define pii pair<int,int>
  16. #define Graph vector<vector<int>>
  17. #define IOS() cin.sync_with_stdio(0),cin.tie(0),cout.tie(0)
  18. const ll inf=(1ll<<63)-1;
  19. const int maxn=1e5+5;
  20. const ll mod=1e9+7;
  21. vector<int> v={5,7,3,9,8,1,2};
  22. bool so(int a,int b) { return a>b; }
  23. signed main()
  24. {
  25.     IOS();
  26.     int n=SZ(v);
  27.     sort(ALL(v));
  28.     REP(i,n) cout<<v[i]<<" "; cout<<"\n";
  29.     sort(ALL(v),so);
  30.     //sort(v.rbegin(),v.rend());
  31.     REP(i,n) cout<<v[i]<<" "; cout<<"\n";
  32.     return 0;
  33. }
複製代碼

作者: 黃宥華    時間: 2022-12-22 20:08

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<int> vec={5,7,3,9,8,1,2,4,6};
  4. int len=vec.size();
  5. bool compare(int a, int b)
  6. {
  7.     return a>b;
  8. }
  9. void show(){
  10.     cout<<"-----------------"<<endl;
  11.     for(int i: vec)
  12.         cout<<i<<" ";
  13.     cout<<endl;
  14. }
  15. void show2()
  16. {
  17.     for(int i=0; i<len; i++)
  18.         cout<<vec[i]<<" ";
  19.     cout<<endl;
  20. }
  21. void show3()
  22. {
  23.     for(auto it=begin(vec); it!=end(vec); it++)
  24.         cout<<*it<<" ";
  25.     cout<<endl;
  26. }
  27. int main()
  28. {
  29.     show();
  30.     //sort(vec.begin(), vec.end());
  31.     sort(begin(vec),end(vec));
  32.     show2();

  33.     //sort(vec.rbegin(), vec.rend());
  34.     //sort(rbegin(vec), rend(vec));
  35.     sort(begin(vec),end(vec),compare);
  36.     show3();

  37.     return 0;
  38. }
複製代碼

作者: 李沛昂    時間: 2022-12-22 20:09

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<int> v= {5,7,3,9,8,1,2};
  4. int len;
  5. bool compare(int a, int b)
  6. {
  7.     return a>b;
  8. }
  9. void show()
  10. {
  11.     for(int i: v)
  12.         cout<<i<<" ";
  13.     cout<<endl;
  14. }
  15. void show2()
  16. {
  17.     for(int i=0; i<len; i++)
  18.         cout<<v[i]<<" ";
  19.     cout<<endl;
  20. }
  21. void show3()
  22. {
  23.     for(auto it=begin(v); it!=end(v); it++)
  24.         cout<<*it<<" ";
  25.     cout<<endl;
  26. }
  27. int main()
  28. {
  29.     show();
  30.     len=v.size();
  31.     sort(begin(v), end(v));
  32.     show3();
  33.     sort(begin(v), end(v), compare);
  34.     show();
  35.     return 0;
  36. }
複製代碼

作者: 黃宇瑄    時間: 2022-12-22 20:10

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<int> v= {5,7,3,9,8,1,2};
  4. int len;
  5. bool compare(int a, int b)
  6. {
  7.     return a>b;
  8. }
  9. void show2()
  10. {
  11.     for(int i=0; i<len; i++)
  12.         cout<<v[i]<<" ";
  13.     cout<<endl;
  14. }
  15. void show3()
  16. {
  17.     for(auto it=begin(v); it!=end(v); it++)
  18.         cout<<*it<<" ";
  19.     cout<<endl;
  20. }
  21. int main()
  22. {
  23.     for(int i: v)
  24.         cout<<i<<" ";
  25.     cout<<endl;
  26.     len=v.size();
  27.     sort(begin(v), end(v));
  28.     show3();
  29.     sort(begin(v), end(v), compare);
  30.     show();
  31.     return 0;
  32. }
複製代碼





歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/) Powered by Discuz! 7.2