8 solutions

  • 3
    @ 2023-11-25 14:11:11
    #include<bits/stdc++.h>
    using namespace std;
    int n;
    int a[105];
    int main(){
    	cin>>n;
    	for(int i=0;i<n;i++) cin>>a[i];
    	for(int i=0;i<n;i++){
    		for(int j=0;j<n-i-1;j++){//减少循环次数 
    			if(a[j]>a[j+1]){
    				swap(a[j],a[j+1]);//懒,直接函数 
    			}
    		}
    		for(int i=0;i<n;i++) cout<<a[i]<<' ';
    		cout<<endl;
    	}
    	return 0;
    }
    
    • 1
      @ 2023-10-29 12:23:48
      #include<iostream>
      using namespace std;
      int main()
      {
       int n;
       cin>>n;//输入
       int a[n];
       for(int i=0;i<n;i++)
       {
        cin>>a[i];//输入
       }
       for(int i=0;i<n;i++)
       {
        for(int j=0;j<n-i-1;j++)//最后的数据不用遍历,因为已经把最大的交换在最后了
        {
         if(a[j]>a[j+1])//更大就交换
         {
          swap(a[j],a[j+1]);
         }
        }
        for(int j=0;j<n;j++)//输出每一次排完的数组
        {
         cout<<a[j]<<" ";
        }
        cout<<endl;
       }
       return 0;//完结散花!
      }
      
      • 0
        @ 2024-12-18 17:10:41

        题解

        思路:在一次循环后,可以确定最后面的那个数
        只需要跑n次就可以把整个数组整理好了
        去我主页看看

        #include<bits/stdc++.h>
        using namespace std;
        int n,arr[10001];
        void put(){
            for(int i=0;i<n;i++)cout<<arr[i]<<" ";
            cout<<endl;
        }
        int main(){
            cin>>n;
            for(int i=0;i<n;i++)cin>>arr[i];
            for(int i=1;i<n;i++){
                for(int j=1;j<n-i+1;j++){
                    if(arr[j-1]>arr[j]){
                        swap(arr[j-1],arr[j]);
        
                    }
                }
                put();
            }
            put();
            return 0;
        }
        
        • 0
          @ 2024-1-25 19:01:04
          #include<bits/stdc++.h>
          using namespace std;
          int a[101];
          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;j++){
          		    if(a[j]>a[j+1]){
          		    	swap(a[j],a[j+1]);
          			}	
          	}
          	for(int k=1;k<=n;k++){
          		    cout<<a[k]<<" ";
          	}
          	cout<<endl;
          	}
          }
          
          • -1
            @ 2024-10-8 15:04:40
            #include<bits/stdc++.h>
            using namespace std;
            int n;
            int a[105];
            int main()
            {
            	cin>>n;
            	for(int i = 0;i < n;i++)
            	{
            		cin >> a[i];
            	}
            	for(int i = 0;i < n;i++)
            	{
            		for(int j = 0;j < n - i - 1;j++)//减少使用空间 
            		{
            			if(a[j] > a[j+1])
            			{
            				swap(a[j],a[j+1]);//函数 
            				//int t = a[j];
            				//a[j] = a[j+1];
            				//a[j+1] = t;
            			}
            		}
            		for(int i = 0;i < n;i++)
            		{
            			cout << a[i] << " ";
            		}
            		cout << endl;//换行 
            	}
            	return 0;//无需多言 
            }
            
            • -1
              @ 2023-12-23 20:44:10
              #include<bits/stdc++.h>
              using namespace std;
              int n;
              int a[105];
              int main(){
              	cin>>n;
              	for(int i=0;i<n;i++) cin>>a[i];
              	for(int i=0;i<n;i++){
              		for(int j=0;j<n-i-1;j++) if(a[j]>a[j+1]) swap(a[j],a[j+1]);
              		for(int i=0;i<n;i++) cout<<a[i]<<' ';
              		cout<<endl;
              	}
              	return 0;
              }
              
              • -1
                @ 2023-11-15 16:24:18
                #include <bits/stdc++.h>
                using namespace std;
                int a[105];
                void swap(int& b,int& c){
                	int t;
                	t = b;
                	b = c;
                	c = t;
                }
                void Print(int n){
                	for(int i = 1;i <= n;i++){
                		printf("%d ",a[i]);
                	}
                	printf("\n");
                }
                int main(int argc, char **argv){
                	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]);
                			}
                		}
                		Print(n);
                	}
                	return 0;
                }
                
                • -4
                  @ 2024-1-25 19:04:47

                  一道模版题,无需多言

                  #include<iostream>
                  using namespace std;
                  int main(){
                  	int n;
                  	cin>>n;
                  	int a[n];
                  	for(int i=0;i<n;i++)
                  	cin>>a[i];
                  	for(int i=0;i<n;i++){
                  		for(int i=0;i<n-1;i++)
                  		if(a[i]>a[i+1])
                  		swap(a[i],a[i+1]);
                  		for(int i=0;i<n;i++)
                  		cout<<a[i]<<" ";
                  		cout<<"\n";
                  	}
                  }
                  
                  • 1

                  Information

                  ID
                  938
                  Time
                  1000ms
                  Memory
                  256MiB
                  Difficulty
                  4
                  Tags
                  (None)
                  # Submissions
                  140
                  Accepted
                  64
                  Uploaded By