咕噜咕噜哈里  

说到排序,记得学过的选择排序,但是c语言学得不太扎实最后还是写了蛮久。

还学到了一个新方法。

c++:

方法一:

 1 #include<iostream>
 2 using namespace std;
 3 
 4 int main(){
 5     int n;
 6     int n2[100];     //用数组才能输入多个数
 7     int temp;
 8     int i;
 9     cin>>n;
10     for(i=0;i<n;i++){
11     cin>>n2[i];            //注意用的是i
12     }
13         for(i=0;i<n-1;i++){            //循环的次数比输入的少
14             for(int j=0;j<n-1;j++){
15                 if(n2[j]>n2[j+1]){
16                 temp=n2[j];
17                 n2[j]=n2[j+1];            //
18                 n2[j+1]=temp;            //
19                 }
20             }
21         }
22     for(i=0;i<n;i++)
23         cout<<n2[i];
24 }

方法二:

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 
 5 int main(){
 6     int n;
 7     cin>>n;
 8     int a[100];
 9     for(int i=0;i<n;i++){
10         cin>>a[i];
11     }
12     sort(a,a+n);
13     for(int i=0;i<n;i++)
14         cout<<a[i];
15 }

Java:

 1 import java.util.*;
 2 import java.io.*;
 3 public class 数列排序 {
 4     public static void main(String[] args) {
 5         Scanner cin=new Scanner(System.in);
 6         int n= cin.nextInt();
 7         int arr[ ];
 8         arr=new int[100];
 9         int temp;
10         int i= cin.nextInt();
11         for(i=0;i<n;i++){
12              arr[i]= cin.nextInt();
13         }
14         for(i=0;i<n-1;i++){
15             for(int j=0;j<n-1;j++){
16                 if(arr[j]>arr[j+1]){
17                     temp=arr[j];
18                     arr[j]=arr[j+1];
19                     arr[j+1]=temp;
20                 }
21             }
22         }
23         for(i=0;i<n;i++)
24             System.out.println(arr[i]);
25     }
26 }

结果:(不太对)

 

 题目:

数列排序
 
问题描述
给定一个长度为 n 的数列,将这个数列按从小到大的顺序排列。1<=n<=20000
输入格式
第一行为一个整数 n。
第二行包含 n 个整数,为待排序的数,每个整数的绝对值小于 20000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
posted on 2021-07-21 20:51  咕噜咕噜哈里  阅读(84)  评论(0编辑  收藏  举报