정렬 알고리즘 1 의 거품 정렬
1350 단어 거품 정렬
거품 을 일 으 켜 정렬 하 는 사상: 매번 비교 할 때마다 정렬 대기 수 중 가장 큰 것 을 선택 하 는 것 이다.다시 말 하면 첫 번 째 는 가장 큰 것 을 뽑 고 두 번 째 는 두 번 째 큰 것 을 뽑 고...
#include <stdio.h>
void swap(int *a,int *b)
{
int temp;
temp=*b;
*b=*a;
*a=temp;
}
/* */
void bubblesort(int a[],int n)
{
int i,j;
for(i=0;i<n-1;i++)// n-1
{
for(j=1;j<n-i;j++)
{
if(a[j-1]>a[j])
swap(&a[j-1],&a[j]);
}
}
}
/* , flag , flag=0, , , */
void bubblesort1(int a[],int n)
{
int k,j,flag=1;
k=n;
while(flag)//while
{
flag=0;
for(j=1;j<k;j++)
{
if(a[j-1]>a[j])
{
swap(&a[j-1],&a[j]);
flag=1;// flag=1 ,
}
}
k--;
}
}
/* , , , 100 , 10 , 90
10 , , 。*/
void bubblesort2(int a[],int n)
{
int k,j,flag;
flag=n;
while(flag>1)// flag=1 ,
{
k=flag;// k
for(j=1;j<k;j++)
{
if(a[j-1]>a[j])
{
swap(&a[j-1],&a[j]);
flag=j;
}
}
}
}
/* */
void print(int a[],int n)
{
int i;
for(i=0;i<n;i++)
{
printf("%d",a[i]);
}
}
int main(void)
{
int a[5]={3,5,1,6,7};
//bubblesort(a,5);
//bubblesort1(a,5);
bubblesort2(a,5);
print(a,5);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 거품 정렬 알고리즘 구현 및 간단한 최적화 예시거품 정렬은 아마도 모든 프로그래머가 사용할 수 있는 알고리즘이자 가장 익숙한 알고리즘 중의 하나일 것이다. 만약에 앞의 원소가 뒤의 원소보다 크다면 마지막 결과에서 전자는 반드시 뒤에 있다.그래서 우리는 이 두 원...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.