zoukankan      html  css  js  c++  java
  • Java实现选择排序以及冒泡排序

    //排序 选择排序 数组中每个元素都进行比较
    public class Test {
    public static void main(String[] args) {
    int[] arr = {12,69,852,25,89,588};
    selectS(arr);
    printS(arr);
    }
    public static void printS(int[] arr){
    for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
    }
    }
    public static void selectS(int[] arr){
    for(int i=0;i<arr.length;i++){
    for(int j =i+1;j<arr.length;j++){
    if(arr[i]>arr[j]){//如果i>j
    int tmp=arr[i];//i拿起来放在一个空里     i则空
    arr[i]=arr[j];//j放在空的i里     j则空
    arr[j]=tmp;//tmp(i)放在空的j里 
    
    //实现i和j比较  大的右移继续比较
    }
    }
    }
    }
    }

     冒泡排序:

      //冒泡排序  数组中跟相邻的元素比较  比较矮大小  交换位置

      原理:比较两个相邻的元素,将值大的元素交换至右端。

      思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。

      第一趟比较完成后,最后一个数一定是数组中最大的一个数,所以第二趟比较的时候最后一个数不参与比较;

      第二趟比较完成后,倒数第二个数也一定是数组中第二大的数,所以第三趟比较的时候最后两个数不参与比较;

      依次类推,每一趟比较次数-1;

    public class Test5 {
    public static void main(String[] args) {
    int[] arr = {12,2,25,89,5};
    bubbleSort(arr);
    printArray(arr);
    }
    public static void bubbleSort(int[] arr){
    for (int i = 0; i < arr.length-1; i++) {
    for(int j=0;j<arr.length-i-1;j++){
    if(arr[j]>arr[j+1]){
    int temp=arr[j];
    arr[j]=arr[j+1];
    arr[j+1]=temp;
    }
    
    }
    }
    }
    public static void printArray(int[] arr){
    for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
    }
    }
    }
  • 相关阅读:
    Java实现 LeetCode 394 字符串解码
    Java实现 LeetCode 394 字符串解码
    Java实现 LeetCode 392 判断子序列
    Java实现 LeetCode 392 判断子序列
    Java实现 LeetCode 392 判断子序列
    Java实现 LeetCode 391 完美矩形
    Java实现 LeetCode 391 完美矩形
    Java实现 LeetCode 391 完美矩形
    Java实现 LeetCode 390 消除游戏
    Java实现 LeetCode 390 消除游戏
  • 原文地址:https://www.cnblogs.com/duguangming/p/10522960.html
Copyright © 2011-2022 走看看