牛牛试图给一个长度为 n 整数数组排序,即实现一个 void sort(int *array,int n)
第一行输入一个正整数 n ,表示数组长度。
第二行输入 n 个正整数,表示数组中每个元素的值
输出排序后的数组
对数组进行输入,然后冒泡排序对数组进行排序,最后返回数组元素
由于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支持变长数组,对数组长度进行遍历,输入新的数组,然后对数组进行冒泡循环进行排序,排序后的结果输出
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】相关视频教程:www.yxfzedu.com