目录
算法 概念
算法步骤
代码示例
例题实战
算法 概念
冒泡排序
是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误,就把他们交换过来。走访数列的工作时重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来时因为越小的元素会经由变换慢慢“浮”到数列的顶端。
算法步骤
1 比较相邻的元素。如果第一个比第二个大,就交换他们两个
2 对每一对相邻元素作相同的工作,从开始第一对到结尾的最后一堆。这步做完后,最后的元素会是最大的数。
3 针对所有的元素重复以上的步骤,除了最后一个
4 持续每次对越来越少的元素重复以上的步骤,直到没有任何一堆数字需要比较
代码示例
public static void main(Sting args[]){int []arr={5,4,3,2,1};//初始化数组for(int i=0;i<arr.length;i++){for(int j=i+1;j<arr.lengh;i++){if(arr[i]>arr[j]){int t=arr[i];arr[i]=arr[j];arr[j]=t;}}//一层循环确定一个位置的值}}
例题实战
题目 在一个神秘的岛屿上,有一只探险队发现了一批宝藏,这批宝藏以整数数组的形式存在的,每个宝藏上都标有一个数字,代表了其中珍贵的程度,然而,由于某种神奇的力量,这批宝藏的顺序被打乱了,探险队需要将这批宝藏按珍贵程度进行降序,以便更好地研究和保护他们。作为探险队的一员,肖恩需要设计合适的排序算法将宝藏按照珍贵程度进行从小到大排序。
输入内容:
输入第一行包括的一个数字n,表示宝藏总共有n个。
输入的第二行包括n个数字,第i个数字a[i]表示第i个宝藏的珍贵程度。
数据保证1<=n<=1000,1<=a[i]<=10^6
输出描述
输入n个数字,为对宝藏按照珍贵程度从小到大顺序排序后的数组。
package Guild; import java.util.*;public class Main {public static void main(String args[]) {Scanner scanner=new Scanner(System.in);int n=scanner.nextInt();int[] a=new int [n];//初始化数组for(int i=0;i<n;i++) {a[i]=scanner.nextInt();//System.out.print(a[i]+" ");}for(int i=0;i<n;i++) {for(int j=i+1;j<n;j++) {if(a[i]>a[j]) {int t=a[i];a[i]=a[j];a[j]=t;}}}for(int i=0;i<n;i++)System.out.print(a[i]+" ");//遍历数组}}