프로그래머 원 요리 닭 학습 일지 (5 - 데이터 구조 편)
삽입 형 정렬 알고리즘
1. 직접 삽입 (안정, 특히 입력 개 수 를 알 고 입력 하면 서 정렬 하 는 데 적합)
#include
#include
using namespace std;
int main(){
int n,tag,temp;
while(cin>>n){
//InsertSort seems like the best choice
int num[n];
for(int i=0; i<n; i++){
cin>>num[i];
tag = i;
while(tag>0){
if(num[tag]<num[tag-1]){
temp = num[tag-1];
num[tag-1] = num[tag];
num[tag] = temp;
tag--;
}else
break;
}
}
for(int i=0; i<n; i++)
cout<<num[i]<<" ";
cout<<endl;
}
}
2. 반절 삽입 (불안정)
교환 형 정렬 알고리즘
for(i=0;i<SymNum-1;i++)
//
for(j=0;j<SymNum-1-i;j++) {
// SymNum-1-i,
if(p[j]<p[j+1]){
tempFlo = p[j];
p[j] = p[j+1];
p[j+1] = tempFlo;
}
}
}
int tagPos(int num[], int low, int high){
int tag = num[low];
while(low<high){
while(low<high && num[high]>tag)
high--;
num[low]=num[high];
while(low<high && num[low]<tag)
low++;
num[high]=num[low];
}
num[low]=tag;
return low;
}
void QuickSort(int num[], int low, int high){
if(low<high){
int tl;
tl = tagPos(num,low,high);
QuickSort(num,low,tl-1);
QuickSort(num,tl+1,high);
}
}
세 개의 중간 값 추출 허브 예제 코드 (Java) (Ps: 현재 본인 은 지침 을 쓸 줄 모 릅 니 다...........................................................................
int getBigger(int a,int b){
if(a>b)
return a;
else
return b;
}
int getSmaller(int a,int b){
if(a<b)
return a;
else
return b;
}
int getPoint(int array[]){
if(getBigger(array[0],array[array.length/2])< array[array.length-1])
return getBigger(array[0],array[array.length/2]);
else
return getBigger(getSmaller(array[0],array[array.length/2]),array[array.length-1]);
}
int getNode(int array[],int a){
if(array[0] == a)
return 0;
else if(array[array.length - 1] == a)
return array.length - 1;
else
return array.length/2;
}
선택 형 정렬 알고리즘
1. 간단 한 선택
전재 가 필요 하 시 면 출처 를 밝 혀 주 십시오.
장기 갱신
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.