题目背景
排序请使用选择排序(动态数组)完成
题目描述
现在给出一个总共由n个数的数组,请用选择排序的方式对这个数组进行排序
输入格式
输入共两行
第一行一个整数n
第二行为总共n个整数的数组a[n]
输出格式
输出共一行,n个整数,用空格隔开,代表排序之后的数组
输入输出样例
输入 #1 复制
5
1 3 2 4 5
输出 #1 复制
1 2 3 4 5
说明/提示
1≤n≤1000
1≤a≤100000
#include<iostream>
#include<iomanip>
using namespace std;
int main(){
int n;
cin>>n;
int *p;
p = new int[n];
for(int i=0;i<n;i++){
cin>>p[i];
}
for(int i=0;i<n;i++){
for(int j=i;j<n;j++){
if(p[i]>p[j]){
int temp=p[i];
p[i] = p[j];
p[j] = temp;
}
}
}
for(int i=0;i<n;i++){
cout<<p[i]<<" ";
}
}
Java题解:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n;
n = scanner.nextInt();
int Array[] = new int[n],temp;
for(int i=0;i<n;i++){
Array[i] = scanner.nextInt();
}
for(int i=0;i<n;i++){
for(int j=i+1;j<n;j++){
if(Array[j] < Array[i]){
temp = Array[j];
Array[j] = Array[i];
Array[i] = temp;
}
}
}
for(int i=0;i<n;i++){
System.out.print(Array[i] + " ");
}
}
}