9 条题解

  • 1
    @ 2025-9-8 13:30:51

    敲黑板了:

    更稳定的归并排序

    ////****///*/*/*/*/*/*/////
    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    signed main(){
    	int n;
    	cin>>n;
    	vector<int>j(n);
    	for(int i=0;i<n;i++) cin>>j[i];
    	stable_sort(j.begin(),j.end());//归并排序函数stable_sort(),与sort()函数类似用法,更稳定,也更快
    	for(int i=0;i<n;i++) cout<<j[i]<<" ";
    }
    • 1
      @ 2024-11-25 21:54:36
      #include <bits/stdc++.h>
      using namespace std;
      int a,b[101],t;
      int main()
      {
      	cin>>a;
      	for(int i=1;i<=a;i++)cin>>b[i];
      	for(int i=1;i<=a;i++){
      	for(int j=i;j<=a;j++)if(b[j]>t)t = b[j];
      	for(int j=i;j<=a;j++)if(b[j]<t)t = b[j];
      	for(int j=i;j<=a;j++)if(b[j]==t)swap(b[i],b[j]);
      	t = 0;
      	}
      	for(int i=1;i<=a-1;i++)cout<<b[i]<<" ";
      	cout<<b[a];
      	return 0;
      }
      

      平时打代码都是这么给数组排序的

      • -1
        @ 2024-10-18 20:22:53

        #include #include <math.h> #include #include <stdio.h> #include #include #include #include <string.h> #include using namespace std; #define LL long long const int N = 1e5 + 10; const int INF = 0x3f3f3f3f; int a[N]; int main() { int d, n; cin>> d >> n; int num = 0 ; for(int i = 1 ; i <= n ; i++) { cin>> a[i]; num += a[i]; } int id = 1 , sum = 0; sum = (d / num) * n; d = d % num; while(d> 0) { d -= a[id]; id++; if(id == n+1) id = 1; sum++; } cout << sum << endl; return 0; }

        • -1
          @ 2024-10-11 19:42:57

          #include #include #include<math.h> #include using namespace std; int cmp(int a,int b) { return a<b; } int a[105]; int main() { int n; cin>>n; for(int i=1;i<=n;i++) { cin>>a[i]; } sort(a,a+n+1,cmp); for(int i=1;i<=n;i++) { cout<<a[i]<<" "; } return 0; } (sort排序)

          • -1
            @ 2024-7-29 16:53:07

            冒泡排序

            #include<bit/stdc++.h>
            using namestd;
            const int N=1e5+10;
            int n,a[N],m,t;
            int main(){
            	cin>>n;
            	for(int i=1;i<=n;i++){
            		cin>>a[i];
            	}
            	for(int i=1;i<n;i++){
            		for(int j=1;j<=n-i;j++){
            		    if(a[j]>a[j+1]){
            		    	t=a[j+1];
            		    	a[j+1]=a[j];
            		    	a[j]=t;
            			}
            		}
            	}
            	for(int i=1;i<=n;i++){
            		cout<<a[i]<<" ";
            	}
            }
            

            插入排序

            #include<bit/stdc++.h>
            using namestd;
            const int N=1e5+10;
            int n,a[N],t;
            int main(){
            	cin>>n;
            	for(int i=1;i<=n;i++){
            		cin>>a[i];
            	}
            	for(int i=2;i<=n;i++){
            		for(int j=i-1;j>0;j--){
            		    if(a[j+1]<a[j]){
            		    	t=a[j+1];
            			    a[j+1]=a[j];
            			    a[j]=t;
            			}
            			else
            			    break;
            	    }
                }
            	for(int i=1;i<=n;i++){
            		cout<<a[i]<<" ";
            	}
            }
            

            qwq 给给赞吧 史密达 不准白嫖

          • -1
            @ 2022-7-24 16:26:22
            #include <queue>
            #include <math.h>
            #include <stack>
            #include <stdio.h>
            #include <iostream>
            #include <vector>
            #include <iomanip>
            #include <string.h>
            #include <algorithm>
            using namespace std;
            #define LL long long
            #define ull unsigned long long
            const int N = 1e6 + 10;
            const int INF = 0x3f3f3f3f; 
            int a[N];
            int main()
            {
            	int n; 
            	cin >> n;
            	for(int i = 0 ; i < n ; i++) 
            		cin >> a[i];
            	sort(a,a+n);
            	for(int i = 0 ; i < n ; i++) 
            		cout << a[i] << " ";
            	return 0; 
            }
            • -1
              @ 2022-7-12 10:40:01

              #include

              #include

              #include

              #include <string.h>

              #include

              using namespace std;

              #define LL long long

              const int N = 1e6 + 10;

              const int INF = 0x3f3f3f3f;

              int a[N];

              int main()

              {

              int n;
              
              cin >> n;
              

              // for(int i = 1; i <= n; i++)

              // {

              // cin >> a[i];

              // }

              // for(int i= 1; i <= n-1; i++)

              // {

              // for(int j = 1; j <= n-i; j++)

              /// {

              // if(a[j] > a[j+1])

              // {

              // int t = a[j];

              // a[j] = a[j+1];

              // a[j+1] = t;

              // }

              // }

              // }

              for(int i = 1; i <= n; i++)
              
              {
              
              	int id = i;
              
              	for(int j  =i+1; j<= n; j++)
              
              	{
              
              		if(a[id] > a[j])
              
              		id = j;
              
              	}
              
              	if(id != i)
              
              	{
              
              		int t = a[id];
              
              		a[id] = a[i];
              
              		a[i] = t;
              
              	}
              
              }
              
              for(int i = 1; i<=n; i++)
              
              	cout << a[i]<<" ";
              

              }

              • -1
                @ 2022-7-12 10:05:42

                #include <stdio.h>

                #include

                #include

                #include

                #include

                #include <string.h>

                #include

                #include

                #include <math.h>

                using namespace std;

                #define LL long long

                const int N = 1e6 + 10;

                const int INF = 0x3f3f3f3f;

                int a[N];

                int main()

                {

                int n;
                
                cin >> n;
                
                for(int i = 1; i <= n; i++)
                
                {
                
                	cin >> a[i];
                
                	sort( a+1, a+1+n); 
                
                }
                
                for(int i = 1; i <= n ;i++)
                
                {
                
                	cout << a[i] << " ";
                
                }
                
                return 0;
                

                }

                • -1
                  @ 2022-7-10 19:31:47

                  #include <stdio.h>

                  #include

                  #include

                  #include

                  #include

                  #include <string.h>

                  #include

                  #include

                  #include <math.h>

                  using namespace std;

                  #define LL long long

                  const int N = 1e6 + 10;

                  const int INF = 0x3f3f3f3f;

                  int a[N];

                  int main()

                  {

                  int n;
                  
                  cin >> n;
                  
                  for(int i = 1; i <= n; i++)
                  
                  cin >> a[i];
                  
                  sort( a+1, a+1+n); 
                  

                  // for(int i = 1; i <= n - 1; i++)

                  // {

                  // for(int j = 1; j <= n - i; j++)

                  // {

                  // if(a[j] > a[j+1])

                  // {

                  // int t = a[j];

                  // a[j] = a[j+1];

                  // a[j+1] = t;

                  // }

                  // }

                  // }

                  // for(int i = 1; i <= n ; i++)

                  // cout << a[i] << " ";

                  // for(int i = 1; i <= n ; i++)

                  // {

                  // int id = i;

                  // for(int j = i + 1; j <= n ; j++)

                  // {

                  // if(a[j] < a[id])

                  // id = j;

                  // }

                  // if(id != i)

                  // {

                  // int t = a[i];

                  // a[i] = a[id];

                  // a[id] = t;

                  // }

                  // }

                  // for(int i = 1; i <= n ; i++)

                  // cout << a[i] << " ";

                  // for(int i = 2; i <= n ; i++)

                  // for(int j = i - 1 ;j >= 1 && a[j] > a[j+1]; j--)

                  // swap(a[j] , a[j+1]);

                  for(int i = 1; i <= n ;i++)
                  
                  	cout << a[i] << " ";
                  
                  return 0;
                  

                  }

                  • 1

                  信息

                  ID
                  1026
                  时间
                  1000ms
                  内存
                  32MiB
                  难度
                  6
                  标签
                  递交数
                  687
                  已通过
                  212
                  上传者