버블 정렬(BubbleSort)의 기본 개념은 인접한 두 숫자를 순서대로 비교하여 소수점을 앞에 놓고 큰 숫자를 뒤에 두는 것입니다. 즉, 첫 번째 단계에서는 먼저 첫 번째 숫자와 두 번째 숫자를 비교하고 소수를 먼저 배치하고 큰 숫자를 마지막에 배치합니다. 그런 다음 두 번째 숫자와 세 번째 숫자를 비교하고 소수를 앞에 놓고 큰 숫자를 뒤에 놓고 마지막 두 숫자를 비교할 때까지 이렇게 계속하여 소수를 앞에 놓고 큰 숫자를 뒤에 넣습니다. 이것이 첫 번째 여행의 끝이며, 끝에 가장 큰 숫자가 남습니다. 두 번째 단계에서는 여전히 첫 번째 숫자 쌍에서 비교를 시작합니다(두 번째 숫자와 세 번째 숫자의 교환으로 인해 첫 번째 숫자가 더 이상 두 번째 숫자보다 작지 않기 때문일 수 있음). 소수점을 먼저 입력합니다. , 그리고 큰 숫자를 배치한 후 마지막에서 두 번째 숫자까지 비교가 계속됩니다(마지막 첫 번째 위치가 이미 가장 큰 숫자임). 두 번째 패스가 끝나면 새로운 최대 숫자가 얻어집니다. 마지막에서 두 번째 위치(실제로는 전체 시퀀스에서 마지막에서 두 번째로 큰 숫자)입니다. 이렇게 계속해서 정렬이 최종적으로 완료될 때까지 위의 과정을 반복하세요.
다음과 같이 코드 코드를 복사합니다.
공개 클래스 Paixu {
공개 정적 무효 메인(String[] args) {
int [] a = {2,6,4,5,1,7,3};
int i = 0;
정수 j = 0;
int n = 0;
for(i= 0;i<a.length-1;i++){
for(j=0;j<a.length-i-1;j++){
if(a[j]>a[j+1]){
n = a[j];
a[j] = a[j+1];
a[j+1] = n;
}
}
}
for ( i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
Straight Select Sorting 역시 간단한 정렬 방법으로, 처음으로 R[0]~R[n-1] 중에서 최소값을 선택하고 이를 R[0]과 교환한 후 최소값을 선택하는 것입니다. R{1}~R[n-1]에서 두 번 그리고 R[1]....과 교환합니다. i번째는 R[i-1]~R[n-1] 중에서 최소값을 선택하여 R[i-1],...와 교환하고, n-1번째는 R[에서 최소값을 선택한다. n-2]~ R[n-1]에서 최소값을 선택하여 R[n-2]와 교환한 후 총 n-1번 통과시켜 작은 것부터 큰 것 순으로 정렬된 순서열을 얻는다. 코드 정렬.
다음과 같이 코드 코드를 복사합니다.
공개 클래스 Paixu {
공개 정적 무효 메인(String[] args) {
int [] a = {2,6,4,5,1,7,3};
int i = 0;
정수 j = 0;
int n = 0;
for(i= 0;i<a.length;i++){
for(j=i+1;j<a.length;j++){
if(a[i]>a[j]){
n = a[i];
a[j] = a[i];
a[i] = n;
}
}
}
for ( i = 0; i < a.length; i++) {
System.out.println(a[i]);
}
}
}
실시예 2
다음과 같이 코드 코드를 복사합니다.
패키지 cn.cqu.coce.xutao;
공개 클래스 선택 정렬 {
공개 정적 무효 메인(문자열 인수[]){
int a[]={34,56,3,234,767,89,0,324,1,32,54,89,8};
int b[]=new int[a.length];
System.arraycopy(a, 0, b, 0, a.length);
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"/t");
}
System.out.println();
//정렬 선택
for(int i=0;i<a.length-1;i++){
int min=i;
for(int j=i+1;j<a.length;j++){
if(a[분]>a[j])
최소=j;
}
if(최소!=i){
int 온도=a[분];
a[분]=a[i];
a[i]=온도;
}
}
for(int i=0;i<a.length;i++)
System.out.print(a[i]+"/t");
System.out.println();
//버블정렬
for(int i=0;i<b.length;i++){
for(int j=1;j<b.length-i;j++){
if(b[j-1]>b[j]){
int te=b[j];
b[j]=b[j-1];
b[j-1]=테;
}
}
}
for(int i=0;i<b.length;i++)
System.out.print(b[i]+"/t");
System.out.println();
}
}