写点什么

Java 1045 快速排序

  • 2022 年 5 月 04 日
  • 本文字数:725 字

    阅读完需:约 2 分钟

public class Main {


public static void main(String[] args) {


Scanner sc= new Scanner(System.in);


int N = Integer.parseInt(sc.nextLine());


String[] str = sc.nextLine().split(" ");


int 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 [] arr = new int[str.length];


for(int i = 0;i<str.length;i++){


arr[i] = Integer.parseInt(str[i]);


}


int count = 0;


boolean isFlag = true;


ArrayList<Integer> list = new ArrayList<>();


for(int i = 0;i<arr.length;i++){


if(i == 0){


for(int j = 1;j<arr.length;j++){


if(arr[i] > arr[j]){


isFlag = false;


}


}


if(isFlag){


list.add(arr[i]);


count++;


}


}


if(i == arr.length-1){


for(int j = 0;j<arr.length-1;j++){


if(arr[i] < arr[j]){


isFlag = false;


}


}


if(isFlag){


list.add(arr[i]);


count++;


}


}


if(i != 0 && i != arr.length-1){


for(int j = 0;j<i;j++){


if(arr[i] < arr[j]){


isFlag = false;


}


}


for(int j = i+1;j<arr.length;j++){


if(arr[i] > arr[j]){


isFlag = false;


}


}


if(isFlag){


list.add(arr[i]);


count++;


}


}


isFlag = true;


}


Collections.sort(list);


System.out.println(count);


for(int i = 0;i<count-1;i++){


System.out.print(list.get(i) + " ");


}


System.out.print(list.get(count-1));


}


}


C++代码实现(AC):


============


#include <iostream>


#include <algorithm>


#include <stdio.h>


using namespace std;


int main()


{


int N;


scanf("%d",&N);


int num[N],num_s[N]; //一个原始数据,另一个保存已经排好的数据


for(int i=0;i<N;i++)


{


scanf("%d",&num[i]);


num_s[i]=num[i];


}


sort(num_s,num_s+N);


int count=0,max=0;


int res[N];


for(int i=0;i<N;i++)


{

用户头像

还未添加个人签名 2022.04.13 加入

还未添加个人简介

评论

发布
暂无评论
Java 1045 快速排序_Java_爱好编程进阶_InfoQ写作社区