语言 每日一题 牛客网 11.12 Day16"/>
C语言 每日一题 牛客网 11.12 Day16
牛牛的排序
描述
牛牛试图给一个长度为 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]+" ");}}
}
更多推荐
C语言 每日一题 牛客网 11.12 Day16
发布评论