java面试:冒泡排序详解 (Java经典编程案例)
java语言实现冒泡排序:
package mytest;public class MyTest {public static void main(String[] args) {int[] a={8,5,4,3,7,2};for(int i=0;i<a.length-1;i++){for(int j=0;j<a.length-1-i;j++){if(a[j]>a[j+1]){int t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(int i=0;i<a.length;i++){System.out.print(a[i]+"\t");}}
}
执行结果如下图:
详细一点的冒泡排序,代码如下:
package mytest;public class MyTest {public static void main(String[] args) {// 使用静态初始化声明数组int[] a={8,5,4,3,7,2,9,6,1};for(int i=0;i<a.length-1;i++){for(int j=0;j<a.length-1-i;j++){if(a[j]>a[j+1]){// 交换位置int t=a[j];a[j]=a[j+1];a[j+1]=t;}}System.out.print("第" + (i+1) + "次排序的结果:");for(int j=0;j<a.length;j++){ // 循环输出System.out.print(a[j]+"\t") ;}System.out.println();}//循环遍历输出结果System.out.println("排序之后的结果为:");for(int i=0;i<a.length;i++){System.out.print(a[i]+"\t");}}
}
执行结果如下图所示:
也可从控制台输入一组数进行排序:
package mytest;import java.util.Arrays;
import java.util.Scanner;public class MyTest {public static void main(String[] args) {//数组计量int count=0;int[] arr=new int[5];//循环输入5个整数存放到数组while(count<5){Scanner sc=new Scanner(System.in);//try防止输入不是整数的try {System.out.print("请输入第"+(count+1)+"整数:");//输入的数存放到数组arr[count]=sc.nextInt();//计量加一,直到5个count++;} catch (Exception e) {//输入的不是整数,则从新输入System.out.println("请输入整数");}}System.out.println("排序前数组:"+Arrays.toString(arr));//冒泡升序排序for(int x=0;x<arr.length;x++){//冒泡排序就是后面的和前面的数对比for(int y=x+1;y<arr.length;y++){//如果是后面的大于前面的,则把前面数往后交换if(arr[x]>arr[y]){int temp=arr[y];arr[y]=arr[x];arr[x]=temp;}}}System.out.println("排序后数组:"+Arrays.toString(arr));}
}
随意输入5个数,排序结果如下图:
java面试:冒泡排序详解 (Java经典编程案例)相关推荐
- 8 年经验面试官详解 Java 面试秘诀!
日前,全球知名 TIOBE 编程语言社区最新发布 11 月的编程语言排行榜,根据最新的榜单显示,相比上个月编程语言 Top 5 并没有太大的变化,其中 Java 依旧稳坐榜首,随后分别是 C.Pyth ...
- java 重定向 redirect_详解Java从后台重定向(redirect)到另一个项目的方法
(1)通过ModelAndView跳转 @RequestMapping("alipayforward") public ModelAndView alipayforward(Htt ...
- java lock unlock_详解Java中的ReentrantLock锁
ReentrantLock锁 ReentrantLock是Java中常用的锁,属于乐观锁类型,多线程并发情况下.能保证共享数据安全性,线程间有序性 ReentrantLock通过原子操作和阻塞实现锁原 ...
- java system sleep_详解Java中的sleep()和wait()的区别
详解Java中的sleep()和wait()的区别 对于sleep()方法,我们首先要知道该方法是属于Thread类中的.而wait()方法,则是属于Object类中的. sleep()方法导致了程序 ...
- java中priorityqueue_详解JAVA中priorityqueue的具体使用
Java中PriorityQueue通过二叉小顶堆实现,可以用一棵完全二叉树表示.本文从Queue接口函数出发,结合生动的图解,深入浅出地分析PriorityQueue每个操作的具体过程和时间复杂度, ...
- java web ip_详解Java Web如何限制访问的IP的两种方法
前一阵子因为在做项目时碰到了这个功能,现在好好总结一下,至于为什么要限制IP访问,我就不多说了.然后百度了一下,现在主要有两种方式去限制IP访问,第一种是最简单的方便的,第二种是通过过滤器来限制访问. ...
- java中implement_详解JAVA中implement和extends的区别
详解JAVA中implement和extends的区别 extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,Java中不支持多重继承,但是可以用接口来实 ...
- java中getclass_详解java中this.getClass()和super.getClass()的实例
详解java中this.getClass()和super.getClass()的实例 前言: 遇到this.getClass()和super.getClass()的返回值感到疑惑,经过探索豁然开朗. ...
- java ftp ftpclient_详解JAVA中使用FTPClient工具类上传下载
详解JAVA中使用FTPClient工具类上传下载 在Java程序中,经常需要和FTP打交道,比如向FTP服务器上传文件.下载文件.本文简单介绍如何利用jakarta commons中的FTPClie ...
- java中断runnable_详解Java 线程中断
一.前言 大家肯定都使用过 Java 线程开发(Thread / Runnable),启动一个线程的做法通常是: new Thread(new Runnable( @Override public v ...
最新文章
- Qt打开文件对话框同时选中多个文件或单个文件
- pin controller driver代码分析
- 2015.11.27---Java
- 标图123123666
- IntelliJ Idea学习笔记003---IDEA中打开Run DashBoard的方法
- 简单python脚本实例-超实用的 30 段 Python 案例
- FDDB--无约束人脸检测数据集
- 好用又免费的英文校对工具!英文写作就要用Wordvice AI
- 漂亮的CSS背景颜色
- 红旗h5中控台恢复出厂设置后不显示倒车影像问题
- 该信谁?跳槽究竟是涨工资还是毁一生
- 小白也能懂的DPDK技术解析
- mysql mgr recovering_深度理解MySQL Group Replication的RECOVERING状态
- temp--文件夹中的文件处理
- 关键点提取:face_recognition、疲劳检测、人脸校准、人脸数据库
- “云”溪笔谈 | 走完过渡期“沉浸式视频云”时代来临
- 免费字体下载,在线设计,不怕找不到好字体
- Excel数据上传并且导入数据库
- EPICS记录参考--多位二进制输入记录(mbbi)
- 保研/考研简历中数模竞赛的经历,就该这样写