说到排序,记得学过的选择排序,但是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