자바로 자주 사용하는 정렬 알고리즘 구현
2777 단어 java 구현
package com.zhaopin;
public class SortTest {
static int data []={2,4,7,5,1,9,6,0,3,8};
public static void main(String args[]){
//sortDataByBubble(data); //
// sortDataBySelect(data); //
// sortDataByInsert(data); //
sortDataByShell(data,data.length); //
printData(data);
}
/**
*
* O(n )
*
* @param data
*/
public static void sortDataByBubble(int data[]){
for(int i=0;i<data.length-1;i++){
for(int j=i+1;j<data.length;j++){
if(data[i]>data[j]){
int temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
}
/**
*
* O(n )
*
* @param data
*/
public static void sortDataBySelect(int data[]){
for(int i=0;i<data.length-1;i++){
int tempData=i;
for(int j=i+1;j<data.length;j++){
if(data[tempData]>data[j]){
tempData=j;
}
}
if(tempData!=i){
int temp=data[i];
data[i]=data[tempData];
data[tempData]=temp;
}
}
}
/**
*
* O(n )
*
* @param data
*/
public static void sortDataByInsert(int data[]){
int tempData;
for(int i=1;i<data.length;i++){
if(data[i-1]>data[i]){
tempData=data[i];
data[i]=data[i-1];
int j;
for(j=i-2;(j>=0)&&(data[j]>tempData);j--){
data[j+1]=data[j];
}
data[j+1]=tempData;
}
printData(data); //
System.out.println();
}
}
/**
*
* O(nLog2(n))
*
* @param data
*/
public static void sortDataByShell(int data[],int n){
int gap=n/2;
while(gap>0){
for(int i=gap;i<n;i++){
int temp;
if(data[i-gap]>data[i]){
temp=data[i];
data[i]=data[i-gap];
int j;
for(j=i-2*gap;(j>0)&&(data[j]>temp);j=j-gap){
data[j+gap]=data[j];
}
data[j+gap]=temp;
}
}
gap=gap/2;
}
}
/**
*
* O(nLog2(n))
*
* @param data
*/
public static void sortDataByMerging(int data[],int n){
}
/**
*
* @param data
*/
public static void printData(int data[]){
for(int i=0;i<data.length;i++){
System.out.print(data[i]);
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 양단 체인 테이블 구현텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.