Rumah >Java >javaTutorial >Bagaimana untuk menulis kod untuk melaksanakan jenis gelembung dan jenis pemilihan dalam java

Bagaimana untuk menulis kod untuk melaksanakan jenis gelembung dan jenis pemilihan dalam java

王林
王林ke hadapan
2023-04-20 12:55:12690semak imbas

1. Isih gelembung

Idea asas Isih Buih ialah: dengan merawat

urutan isihan adalah dari hadapan ke belakang (daripada elemen dengan subskrip yang lebih kecil) Mulakan), bandingkan nilai elemen bersebelahan secara bergilir, dan tukarkannya jika tertib terbalik ditemui, supaya unsur-unsur dengan nilai yang lebih besar secara beransur-ansur bergerak dari depan ke belakang, sama seperti gelembung di bawah air, secara beransur-ansur meningkat ke atas.

Kerana semasa proses pengisihan, setiap elemen sentiasa menghampiri kedudukannya sendiri Jika
tidak ditukar dalam perbandingan, bermakna urutannya adalah teratur.

Ilustrasi proses algoritma isihan gelembung

Susun atur asal: 3, 9, -1, 10, 20

Pas pertama pengisihan

(1) 3, 9, -1, 10, 20 // Jika elemen bersebelahan dalam susunan terbalik, tukar

(2 ) 3, -1, 9, 10, 20

(3) 3, -1, 9, 10, 20

(4) 3, - 1, 9, 10, 20

Isih kedua

(1) -1, 3, 9, 10, 20 //Pertukaran

(2) -1, 3, 9, 10, 20

(3) -1, 3, 9, 10, 20

Tidak . , 20

Isih keempat


(1) -1, 3, 9, 10, 20

Isih menggelegak ringkasan peraturan

(1) Lakukan jumlah saiz tatasusunan - 1 gelung besar

(2) Bilangan hantaran isihan semakin berkurangan

(3) Jika kami mendapati tiada pertukaran berlaku dalam jenis tertentu, kami boleh menamatkan isihan gelembung lebih awal. Ini ialah hasil pengoptimuman


:


Keluaran hasil isihan pertama

[3, -1, 9, -2, 10]

Keluarkan hasil isihan kedua
import java.util.Arrays;
public class BubbleSort {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
        int arr[]= {3,9,-1,10,-2};
        //第i+1趟排序,将最大的数排在最后
        int temp=0;//临时变量
        for(int i=0;i<arr.length-1;i++) {//定义第几轮排序
       	 for(int j=0;j<arr.length-1-i;j++) {
       		 if(arr[j+1]<arr[j]) {
       		  temp=arr[j];
       		 arr[j]=arr[j+1];
       		 arr[j+1]=temp;
       		 }
       		 }
        System.out.println("输出第"+(i+1)+"趟排序的结果");
        System.out.println(Arrays.toString(arr));
        }
     
        }
	}
[-1, 3, -2, 9, 10]

Output hasil isihan ketiga

[-1, -2, 3, 9, 10 ]
Keluarkan hasil pengisihan ke-4

[-2, -1, 3, 9, 10]


Kaedah pengisihan pemilihan


Isih idea :

Susun atur asal: 101, 34, 119, 1

Pusingan pertama pengisihan: 1, 34, 119, 101

Pusingan kedua pengisihan: 1, 34, 119, 101


Pusingan ketiga isihan: 1, 34, 101, 119


Arahan:


1. Jumlah saiz tatasusunan pengisihan pilihan ialah - 1 pusingan pengisihan

2. >

2.1 Mula-mula andaikan nombor semasa ialah nombor terkecil

2.2 Kemudian bandingkan dengan setiap nombor berikutnya Jika didapati terdapat nombor yang lebih kecil daripada nombor semasa, tentukan semula nombor terkecil , dan dapatkan subskrip

  • 2.3 Apabila melintasi ke penghujung tatasusunan, kita mendapat nombor minimum dan subskrip pusingan ini

  • 2.4 Pertukaran [ Teruskan dalam kod]

Atas ialah kandungan terperinci Bagaimana untuk menulis kod untuk melaksanakan jenis gelembung dan jenis pemilihan dalam java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam