Java 气泡排序
最编程
2024-04-19 09:25:26
...
【直播预告】国产数据库,一半都是花架子?”
冒泡排序法:
概念:
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名“冒泡排序”。
代码实现(以蓝桥杯中的问题为例!):
1 /**
2 问题描述
3 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
4 输入格式
5 第一行为一个整数n。
6 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
7 输出格式
8 输出一行,按从小到大的顺序输出排序后的数列。
9 样例输入
10 5
11 8 3 6 4 9
12 样例输出
13 3 4 6 8 9
14 **/
15 import java.util.Scanner;
16
17 public class Main {
18 public static void main(String[] args) {
19 Scanner sc = new Scanner(System.in);
20 int n = sc.nextInt();
21 if (n >= 1 && n <= 200) {
22 int[] a = new int[n];
23 for (int i = 0; i < n; i++) {
24 a[i] = sc.nextInt();
25 if(a[i]<-10000||a[i]>10000){
26 return;
27 }
28 }
29
30 // 这里为最主要的部分
31 for (int i = 0; i < a.length - 1; i++) {
32 for (int j = 0; j < a.length - i - 1; j++) {
33 if (a[j] > a[j + 1]) {
34 int temp = a[j];
35 a[j] = a[j + 1];
36 a[j + 1] = temp;
37 }
38 }
39 }
40 for (int i = 0; i < a.length; i++) {
41 System.out.print(a[i] + " ");
42 }
43
44 }
45 }
46 }
优缺点:
优点:比较简单,空间复杂度较低,相比于其他的排序方法,是比较稳定的
缺点:时间复杂度相对来说较高,相比于其他的排序方法,效率比较慢
推荐阅读
-
string to instant_string to instant_string to instant- 在 Android 中使用 Java 日期格式的正确方法是什么?
-
PHP 国家时区 PHP 时区列表(未按国家排序)
-
在 Java 中将汉字转换为拼音首字母拼写和五笔编码的方法。
-
Java_Web--JDBC 添加记录操作模板
-
Java 帮助:快速准确地删除 Word 文档中的空行
-
Java 延迟队列移除示例
-
java 发送短信系列限制发送频率
-
根据经纬度获取详细地址的 java gode 地图
-
2024 Java最全【零基础学Java】-ArrayList集合概述与基本使用(十四),阿里大牛整理-最后!
-
Java Swing 中实现为窗体添加背景图像的两种方法说明