import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List; public class Main{
static Scanner in=new Scanner(System.in);
static int n=in.nextInt();
static long[] a=new long[n+5];
public static void main(String[] args) {
// TODO Auto-generated method stub int i=0,j=n-1;
for(int t=0;t<n;t++){
a[t]=in.nextInt();
}
// daluan();
// QuickSort(i,j);
sort(i,j);
for(int t=0;t<n;t++){
System.out.print(a[t]+" ");
}
} private static void daluan() {
// TODO Auto-generated method stub
List<Integer> lst = new ArrayList<Integer>();
for(int i=0;i<n;i++){
lst.add(Integer.valueOf(String.valueOf(a[i])));
} // System.out.println(lst); Collections.shuffle(lst);
for(int i=0;i<n;i++){
a[i]=lst.get(i);
} } private static void QuickSort(int start,int end) //start为待排序起点,end为待排序终点
{
if(start>=end)return;//如果待排序只有一个元素,直接return
int i=start;
int j=end;
long k=a[start];
while(i<j)
{
while(a[j]>=k&&i<j)
{
j--;
}
swap(i,j);
k=a[j]; while(a[i]<=k&&i<j)
{
i++;
}
swap(i,j);
k=a[i];
}
QuickSort(start,i-1);
QuickSort(j+1,end);
} static void sort(int left,int right){
int l=left;
int r=right;
long pivot=a[(left+right)/2];//找中间值
long temp=0;
while(l<r){
while(a[l]<pivot) l++;
while(a[r]>pivot) r--;
if(l>=r) break;
temp=a[l];
a[l]=a[r];
a[r]=temp;
if(a[l]==pivot) --r;
if(a[r]==pivot) ++l;
}
if(l==r){
l++;
r--;
}
if(left<r) sort(left,r);
if(right>l) sort(l,right);
} private static void swap(int i, int j) {
long t=a[i];
a[i]=a[j];
a[j]=t;
} }

P1177【模板】快速排序(JAVA语言)的更多相关文章

  1. 深度实战玩转算法, Java语言7个经典应用诠释算法精髓

    深度实战玩转算法,以Java语言主讲,通过7款经典好玩游戏,真正将算法用于实际开发,由算法大牛ACM亚洲区奖牌获得者liuyubobobo主讲,看得见的算法,带领你进入一个不一样的算法世界,本套课程共 ...

  2. 瘋耔java语言笔记

    一◐ java概述                                                                                        1.1 ...

  3. Java语言与C++语言的差异总结

    Java的设计者曾说过,设计这门语言的灵感主要来自于C++. 世上先有C++,然后才有Java,整个Java语言的发展历史就是一部对C++的填坑史.所以在Java语言学习过程中,将其与C++语言对比是 ...

  4. Java语言与JVM中的Lambda表达式全解

    Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍了Lamdba的设计初衷,应用场景与基本语法. ...

  5. 《JAVA语言程序设计》上课笔记

    教学目标:1.使学生了解JAVA课程的性质.定位.作用:为什么要学习JAVA?让学生知道如何学好JAVA: 教学内容: 一.        问几个问题 1.             你们到这里来干什么 ...

  6. 我们一起来排序——使用Java语言优雅地实现常用排序算法

    破阵子·春景 燕子来时新社,梨花落后清明. 池上碧苔三四点,叶底黄鹂一两声.日长飞絮轻. 巧笑同桌伙伴,上学径里逢迎. 疑怪昨宵春梦好,元是今朝Offer拿.笑从双脸生. 排序算法--最基础的算法,互 ...

  7. 探索Java语言与JVM中的Lambda表达式

    Lambda表达式是自Java SE 5引入泛型以来最重大的Java语言新特性,本文是2012年度最后一期Java Magazine中的一篇文章,它介绍了Lamdba的设计初衷,应用场景与基本语法.( ...

  8. elasticsearch 5.6.4自动创建索引与mapping映射关系 +Java语言

    由于业务上的需求 ,最近在研究elasticsearch的相关知识 ,在网上查略了大部分资料 ,基本上对elasticsearch的数据增删改都没有太大问题 ,这里就不做总结了  .但是,在网上始终没 ...

  9. Java 语言结构【转】

    Java 语言结构 基础:包(Package).类(Class)和对象(Object) 了解 Java 的包(Package).类(Class)和对象(Object)这些基础术语是非常重要的,这部分内 ...

随机推荐

  1. ::-webkit-scrollbar & hidden scrollbar

    ::-webkit-scrollbar & hidden scrollbar how to hidden ::-webkit-scrollbar *::-webkit-scrollbar { ...

  2. macOS & pbcopy

    macOS & pbcopy copy from command line pbcopy $ whoami | pbcopy # xgqfrms-mbp $ echo "hello, ...

  3. Linux bash shell All In One

    Linux bash shell All In One Linux https://tinylab.gitbooks.io/shellbook/content/zh/chapters/01-chapt ...

  4. WebXR All in One

    WebXR All in One VR / WebVR WebXR https://www.w3.org/TR/webxr/ WebXR Device API https://immersiveweb ...

  5. flutter 混合开发

    flutter 混合开发 https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps https://flutter.de ...

  6. Chrome & console.log & color & js

    Chrome & console.log & color & js console.log & color // OK log(`%cchat_list =\n%c${ ...

  7. Learn-JavaScript-with-MDN 系列文章: 01. var & let & const 对比

    Learn-JavaScript-with-MDN 系列文章: 01. var & let & const 对比 var & let & const 区别 https: ...

  8. The State of JavaScript 2019

    The State of JavaScript 2019 https://stateofjs.com/ https://survey.stateofjs.com/ https://2018.state ...

  9. Flutter:发布包

    [package] 生成包含模块化Dart代码的可共享Flutter项目 [plugin] 生成一个可共享的Flutter项目, 在Dart代码中包含带有API的API, 针对Android的平台特定 ...

  10. USDN代币的特点

    USDN是NGK公链发行的算法型稳定币,采用智能合约发行,通过智能合约的透明化,能够让市场USND持有者获得算法稳定的背书.USDN是一种锚定全球通用的代币,更是连接全球数字经济的通用数字代币.USD ...