데이터 구조 몇 가지 교환 정렬
#include <iostream>
using namespace std;
void bubble_sort(int a[], int len)
{
int i, j;
int temp, flag = 1;
for(i=0; i<len&&flag; i++)
{
flag = 0;
for(j=0; j<len; j++)
{
if(a[i] < a[j])
{
flag = 1;
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
cout<<" : ";
for(i=0; i<len; i++)
cout<<a[i]<<" ";
cout<<endl;
}
void quick_sort(int a[], int left, int right)
{
int temp;
int i = left;
int j = right;
if(left < right)
{
temp = a[left];
while(i != j)
{
while(i<j&&a[j]>=temp)
j--;
if(i < j)
{
a[i] = a[j];
i++;
}
while(i<j&&a[i]<=temp)
i++;
if(i < j)
{
a[j] = a[i];
j--;
}
}
a[i] = temp; //
quick_sort(a, left, i-1);
quick_sort(a, i+1, right);
}
cout<<" : ";
for(i=0; i<9; i++)
cout<<a[i]<<" ";
cout<<endl;
}
void select_sort(int a[], int len)
{
int i, j, k;
int temp;
for(i=0; i<len; i++)
{
k = i;
for(j=i+1; j<len; j++)
if(a[k] > a[j])
k = j;
if(i != k)
{
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
cout<<" : ";
for(i=0; i<9; i++)
cout<<a[i]<<" ";
cout<<endl;
}
int main(void)
{
int a[] = {2,5,8,6,9,1,4,3,0};
int len = sizeof(a)/sizeof(int);
//
// bubble_sort(a, len);
//
// quick_sort(a, 0, len-1);
//
select_sort(a, len);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.