32 条题解

  • 17
    @ 2022-8-12 14:41:56

    题目要求:对数组元素进行从小到大依次排序。


    题目比较简单带大家复习一下sort函数。


    时间复杂度:n*lg(n). sort(start,end,cmp) 1.第一个参数是要排序数组的起始地址

    2.第二个参数是数组结束地址的下一位

    3.第三个是排序的方法,可不填,默认升序 sort()函数的强大之处在于与cmp函数的使用,可以解决数组、字符串、结构体的排序问题等。


    本题代码如下:

    for (int i=1;i<=n;i++)
    {
        cin>>a[i];        //输出
    }
    sort(a+1,a+n+1);     //直接排序(注意输入是从1开始的,因此需要地址加一)
    for (int i=1;i<=n;i++)
    {
        cout<<a[i]<<" ";      //输出
    }
    

    题解不易,动动小手点个赞🎈

    • 7
      @ 2023-7-22 16:23:35

      本题其实非常简单,但我如果不漏点本事就成搞笑男了!

      最简sort:

      #include<bits/stdc++.h> //sort
      using namespace std;
      int main(){
      	int n;
      	cin>>n;
      	int x[n];
      	for(int i=0;i<n;i++){
      		cin>>x[i];
      	}
      	sort(x,x+n);
      	for(int i=0;i<n;i++){
      		cout<<x[i]<<" ";
      	}
      	return 0;
      }
      

      较难冒泡:

      #include<bits/stdc++.h> //冒泡排序 
      using namespace std;
      int a[20];
      int main(){
      	int n;
      	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]) swap(a[j],a[j+1]);
      		}
      	}
      	for(int i=1;i<=n;i++){
      		cout<<a[i]<<" ";
      	}
      	return 0;
      }
      

      3星选择:

      #include<bits/stdc++.h> //选择排序 
      using namespace std;
      int a[20];
      int main(){
      	int n;cin>>n; int ma;
      	for(int i=1;i<=n;i++) cin>>a[i];
      	for(int i=1;i<=n-1;i++){
      		ma=1;
      		for(int j=1;j<=n-i+1;j++){
      			if(a[j]>a[ma]){
      				ma=j;
      			}
      		}
      		if(ma!=n-i+1) swap(a[ma],a[n-i+1]);
      	}
      	for(int i=1;i<=n;i++){
      		cout<<a[i]<<" ";
      	}
      	return 0;
      }
      

      5星插入:

      #include<bits/stdc++.h> //插入排序 
      using namespace std;
      int a[20];
      int main(){
      	int n;cin>>n;int i,j;
      	for(i=1;i<=n;i++) cin>>a[i];
      	for(i=2;i<=n;i++){
      		for(j=1;j<=i;j++){
      			if(a[j]>=a[i]){
      				break;
      			}
      		}
      		if(j!=i){
      			int x=a[i];
      			for(int k=i-1;k>=j;k--){
      				a[k+1]=a[k];
      			}
      			a[j]=x;
      		} 
      	}
      	for(int i=1;i<=n;i++){
      		cout<<a[i]<<" ";
      	}
      	return 0;
      }
      

      (点个赞吧!)

      • @ 2023-8-16 13:45:42

        10星归并:

        #include<iostream>
        using namespace std;
        int n,a[105];
        int bak[105];
        void msort(int lt,int rt){
        	if(lt==rt) return;
        	int mid=(lt+rt)>>1;
        	msort(lt,mid);
        	msort(mid+1,rt);
        	int bi=lt;
        	int left=lt,right=mid+1;
        	while(left<=mid&&right<=rt){
        		if(a[left]<a[right])
        			bak[bi++]=a[left++];
        		else
        			bak[bi++]=a[right++];
        	}
        	while(left<=mid)
        		bak[bi++]=a[left++];
        	while(right<=rt)
        		bak[bi++]=a[right++];
        	for(int i=lt;i<=rt;i++)
        		a[i]=bak[i];
        }
        int main(){
        	cin>>n;
        	for(int i=1;i<=n;i++)
        		cin>>a[i];
        	msort(1,n);
        	for(int i=1;i<=n;i++)
        		cout<<a[i]<<" ";
        	return 0;
        }
        
    • 4
      @ 2023-4-22 22:10:34
      #include <bitspstdc++.h> //万能头代码
      uing namespace std;
      int main(p)
      {
      
      
      
          //故意加的
      
      uhfhfvhcfh
      
      
      
          int n,a[10000];
      
      
          cin>>poiop;
      
      
          for(int i=1;i<=n;i++)
          {
      
      
              cin>>a[is];
          }
      
          sort(a+1,  a+  +  n;i++)
          {
               cout<<a[]<<" ";
          }
      
          
          return ;
      }
      

      作弊可耻!!(改了很多地方)

      • 3
        @ 2023-2-19 19:05:07

        请注意必须抄袭题解,写题解需要只放代码,不能加 上你的思路或代码注释。

        抄袭题解一经发现直接成绩满分!🚀️ 🚀️ 🚀️

        • @ 2023-3-3 17:28:25

          6

        • @ 2023-6-22 20:46:50

          被管理员发现就惨了

        • @ 2024-3-25 20:35:34

          6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666

        • @ 2024-3-25 20:35:50

          @确实

        • @ 2024-3-25 20:37:02

          6666566666666666666666666666666667666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666

        • @ 2024-5-16 16:34:13

          喂喂喂,管理员先生吗?这里有人……

      • 3
        @ 2022-8-20 14:40:15

        sort排序函数

        sort(a+1,a+n+1);
        
        • 2
          @ 2024-2-2 13:55:22
          #include <cstdio>//这是快速排序
          using namespace std;//时间复杂度为O(NlogN)
          int n,book[100005];
          void quicksort(int l,int r)
          {
              int i,j,t,temp;
              if(l>r)
                  return;
              temp=book[l];
              i=l;
              j=r;
              while (i!=j)
              {
                  while (book[j]>=temp && i<j)
                  {
                      j--;
                  }
                  while (book[i]<=temp && i<j)
                     i++;
                  if(i<j)
                  {
                      t=book[i];
                      book[i]=book[j];
                      book[j]=t;
                  }
              }
              book[l]=book[i];
              book[i]=temp;
          
              quicksort(l,i-1);
              quicksort(i+1,r);
              return;
          }
          int main()
          {
              int i,j;
              scanf("%d",&n);
              for(i=1;i<=n;i++)
                 scanf("%d",&book[i]);
              quicksort(1,n);
              for(i=1;i<=n;i++)
                  printf("%d ",book[i]);
              return 0;
          }
          
          • 2
            @ 2023-8-17 18:45:24

            直接用sort函数就好啦❤️

            记得用万能开头

            #include <bits/stdc++.h>
            using namespace std;
            int main()
            {
                int n , a[10];
                cin >> n;
                for (int i = 0; i < n; i++) cin >> a[i];
                sort(a + 0, a + n);
                for (int i = 0; i < n; i++) cout << a[i] << " ";
                return 0;
            }
            
            • @ 2024-5-16 16:37:27

              为什么不是

              #include <algorithm>
              
          • 2
            @ 2022-8-11 19:53:04

            sort是个好东西:

            #include <iostream>
            #include <algorithm>
            #include <cstdio>
            using namespace std;
            int main()
            {
                int n;
                cin>>n;
                int a[n+1];
                for (int i=1;i<=n;i++)
                {
                    cin>>a[i];//输入
                }
                sort(a+1,a+n+1);//sort直接排了
                for (int i=1;i<=n;i++)
                {
                    cout<<a[i]<<" ";//输出
                }
                return 0;
            }
            
            • @ 2023-7-14 15:13:56

              头文件也是个好东西^_^ #include <bits/stdc++.h>

          • 1
            @ 2024-1-28 12:27:22

            python来一发

            input()//第一个没用
            a = list(map(int,input().split)).sort()
            //下面是输出
            for i in a:
                print(i,end = " ")
            
            • 1
              @ 2023-9-23 19:00:10
              //必须来一个快排
              #include <bits/stdc++.h>
              using namespace std;
              int a[1005],n;
              void quicksort(int left,int right)
              {
              int i,j,t,temp;
              if (left>right)
              return ;
              temp=a[left];
              i=left;
              j=right;
              while(i!=j)
              {
              while(a[j]>=temp && i<j)
              j--;
              while(a[i]<=temp && i<j)
              i++;
              if (i<j)
              {
              t=a[i];
              a[i]=a[j];
              a[j]=t;
              }
              }
              a[left]=a[i];
              a[i]=temp;
              quicksort (left,i-1);
              quicksort (i+1,right);
              return ;
              }
              int main()
              {
              scanf("%d",&n);
              for (int i=1;i<=n;i++)
              scanf("%d",&a[i]);
              quicksort (1,n);
              for (int i=1;i<=n;i++)
              printf("%d ",a[i]);
              return 0;
              }
              
              
              
              • 1
                @ 2023-1-31 16:17:20

                sort() 库:algorithm 快排函数 函数用法:

                sort(a,a+n)//a代表数组,n代表长度
                

                code:

                #include <iostream>
                #include <algorithm>
                using namespace std;
                int num[10];
                int main()
                {
                	int n;
                	cin >> n;
                	for (int i = 0; i < n; i++)
                		cin >> num[i];
                	sort(num, num + n);
                	for (int j = 0; j < n; j++)
                		cout << num[j] << ' ';
                	return 0;
                }
                
                • 1
                  @ 2022-12-31 20:40:13
                  #include <iostream>
                  using namespace std;
                  int n, a[1005];
                  int main()
                  {
                      cin >> n;
                      for (int i = 1; i <= n; i++)
                      {
                          cin >> a[i];
                      }
                      for (int i = 1; i <= n - 1; i++)
                  	{
                  		int maxj = i;
                  		for (int j = maxj+1; j <= n; j++)
                  		{
                  			if (a[j]<a[maxj])
                  			{
                  				maxj=j;
                  			}
                  		}
                  		int t = a[i];
                  		a[i] = a[maxj];
                  		a[maxj] = t;
                  	}
                      for (int i = 1; i <= n; i++)
                      {
                          cout << a[i] << " ";
                      }
                      return 0;
                  }
                  
                  • 1
                    @ 2022-12-22 18:23:55

                    尝试不用sort函数去解决本题(呃 · · · · · · 后果可想而知)

                    #include <iostream>
                    using namespace std;
                    int main()
                    {
                    	//选择排序 
                    	int n, i, j, min, t;
                    	cin >> n;
                    	int a[n];
                    	for (i = 0; i < n; i++)
                        {
                    		cin >> a[i];
                    	}
                    	for (i = 0; i < n - 1; i++)
                        {
                    		min = i;
                    		for (j = i;j < n;j++)
                            {
                    			if (a[j] < a[min])
                                {
                    				min = j;
                    			}
                    		}
                    		if (min != i)
                            {
                    			t = a[min];
                    			a[min] = a[i];
                    			a[i] = t;
                    		}
                    	}
                    	for (i = 0; i < n; i++)
                        {
                    		cout << a[i] << ' ';
                    	}
                        return 0;
                    }
                    
                    • 1
                      @ 2022-10-6 15:53:13

                      不就sort和万能头吗

                      #include <bits/stdc++.h>
                      using namespace std;
                      int n, a[100];
                      int main()
                      {
                          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;
                      }
                      
                      • 0
                        @ 2024-6-10 13:58:01

                        sort秒了

                        #include <bits/stdc++.h> 
                        using namespace std;
                        int n,a[20];
                        int main()
                        {
                            cin >> n;
                            for (int i = 1;i<=n;i++)
                            {
                                cin >> a[i];
                            }
                            sort(a+1,a+n+1);
                            for (int i = 1;i<=n;i++)
                            {
                                cout << a[i] << " ";
                            }
                            return 0;
                        }
                        
                      • 0
                        @ 2024-5-19 9:59:40

                        很简单,直接上代码!

                        #include <bits/stdc++.h>
                        using namespace std;
                        int main()
                        {
                            int n,a[10000];
                            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;
                        }
                        给个赞吧,谢谢了
                        
                        • 0
                          @ 2023-8-1 15:12:53
                          #include <cstdio>
                          #include <algorithm>
                          using namespace std;
                          int main(){
                              int n,a[10];
                              scanf("%d",&n);
                              for(int i=0;i<n;i++)scanf("%d",&a[i]);
                              sort(a,a+n);
                              for(int i=0;i<n;i++)printf("%d ",a[i]);
                              return 0;
                          }
                          

                          有函数,不迷路

                          • 0
                            @ 2023-6-27 16:29:23
                            #include <bits/stdc++.h>
                            #include <algorithm>
                            using namespace std;
                            int main()
                            {
                                int a[15], n;
                                cin >> n;
                                for (int i = 1; i <= n; i++)
                                    cin >> a[i];
                                sort(a + 1, a + n + 1);
                                for (int i = 1; i <= n; i++)
                                    cout << a[i] << " ";
                                return 0;
                            }
                            
                            • @ 2023-7-14 15:13:00

                              大哥 不是用万能头文件就不用写algorithm头文件了吗😄

                          • 0
                            @ 2023-6-22 20:57:32

                            这道题很简单,sort函数是个好东西!上代码!

                            #include <bits/stdc++.h>
                            using namespace std;
                            int n, a[100000];
                            int main()
                            {
                                cin >> n;
                                for (int i = 1; i <= n; i++)
                                {
                                    cin >> a[i];
                                }
                                sort(a + 1, a + n + 1);
                                for (int i = 1; i <= n; i++)
                                {
                                    cout << a[i];
                                }
                                return 0;
                            }
                            

                            如果你也是这么编的,你将会得到一个“哇(WA)!” 因为输出时需空格!!!

                            AC代码:

                            #include <bits/stdc++.h>
                            using namespace std;
                            int n, a[100000];
                            int main()
                            {
                                cin >> n;
                                for (int i = 1; i <= n; i++)
                                {
                                    cin >> a[i];
                                }
                                sort(a + 1, a + n + 1);
                                for (int i = 1; i <= n; i++)
                                {
                                  cout << a[i] << " ";
                                }
                                return 0;
                            }
                            

                            请注意必须抄袭题解,写题解需要只放代码,不能加上你的思路或代码注释。抄袭题解一经发现直接成绩​满分​!🚀️ 🚀️ 🚀️

                            • 0
                              @ 2023-6-13 20:59:31
                              #include <bits/stdc++.h>
                              using namespace std;
                              int main(){
                                  int n, a[100000];
                                  cin >> n;
                                  for (int i = 1; i <= n; i++){
                                      cin >> a[i];
                                  }
                                  sort(a + 1, a + n + 1);
                                  for (int i = 1; i <= n; i++){
                                      cout << a[i] << " ";
                                  }
                              }
                              

                              信息

                              ID
                              2
                              时间
                              1000ms
                              内存
                              16MiB
                              难度
                              3
                              标签
                              递交数
                              1394
                              已通过
                              740
                              上传者