牛牛的排序
描述
牛牛试图给一个长度为 n 整数数组排序,即实现一个 void sort(int *array,int n)
输入描述:
第一行输入一个正整数 n ,表示数组长度。
第二行输入 n 个正整数,表示数组中每个元素的值
输出描述:
输出排序后的数组
C语言代码实现
思路
对数组进行输入,然后冒泡排序对数组进行排序,最后返回数组元素
由于C语言不支持变长数组,所以用C语言时需要把数组的长度设置大点
#include<stdio.h> void sort(int* array,int n) { int i = 0, j = 0,tmp = 0; for(i = 0; i < n - 1; i++) for(j = 0; j < n - 1 - i; j++) if(array[j] > array[j + 1]) tmp = array[j], array[j] = array[j + 1], array[j + 1] = tmp; for(i = 0; i < n; i++) printf("%d ",array[i]); printf("\n"); } int main() { int n = 0, i = 0; int arr[1000] = {0}; scanf("%d",&n); for(i = 0; i < n; i++) scanf("%d",arr + i); sort(arr,n); return 0; }
Java代码实现
思路
Java支持变长数组,对数组长度进行遍历,输入新的数组,然后对数组进行冒泡循环进行排序,排序后的结果输出
import java.util.Scanner; import java.util.Arrays; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { int n=0; Scanner sc=new Scanner(System.in); n=sc.nextInt(); int[] arr=new int[n]; for(int i=0;i<n;i++){ arr[i]=sc.nextInt(); } for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ if(arr[i]<arr[j]){ int t=arr[i]; arr[i]=arr[j]; arr[j]=t; } } } for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+" "); } } }