중화사전망 - 서예자전 - C 언어에서 거품이 나는 것은 무슨 뜻입니까?

C 언어에서 거품이 나는 것은 무슨 뜻입니까?

버블링 방법은 정렬 방법입니다.

버블링 방법 5 4 3 2 1

예를 들어 위의 다섯 자리 숫자는 내림차순으로 정렬됩니다.

앞에서 뒤로, 인접한 두 개는 더 크다. 전자가 후자보다 크면 함께 놓아라.

5 가 4 보다 크면 5 와 4 를 돌려 4532 1 을 얻습니다.

5 가 3 보다 크면 5 와 3 이 바뀌어 4352 1 등을 얻습니다.

432 15 가장 큰 숫자를 뒤로 이동합니다.

그런 다음 5 를 보지 않고 432 1 을 남기고 위의 방법으로 4 를 끝까지 움직입니다.

32 145 를 얻습니다. 45 를 보지 않고 나머지 32 1 이동 3 ~.

마지막으로 기다리세요.

결국 12345 를 얻습니다.

이것이 바로 버블링 방법입니다. 이것은 컴퓨터 프로그래밍 정렬에서 가장 쉽고 빠른 방법입니다.

이번 사고 외에도 많은 정렬 방법을 쓸 수 있지만, 효율은 거품법보다 못하다.

왜 버블링법이라고 부르는지에 관해서는, 이 그림들을 올려 보세요.

1

2

셋;삼;3

다섯;오;5

가장 큰 숫자 5 를 가장 큰 거품으로 보고, 맨 위로 떠오른 다음, 4 가 다시 떠오른다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 성공명언)

얻다

다섯;오;5

셋;삼;3

2

1

그래서 이미지는 버블링법이라고 합니다.

---------------

다음은 c 언어에서 10 개의 버블 정렬 코드입니다.

# include & ltstdio.h & gt

# include & ltconio.h & gt

인트메인 (void)

{

긴 배열 [9]

상자 = 0l

Int I 1=0,

I2 = 0;;

For (I1= 0; I1< 9; I 1++)

Array [I1] = 0;

Printf ("입력 배열 요소: \ n");

For (I1= 0; I1< =9; I 1++)

{

Printf(“% 3d>, I1+1);

Scanf ('%d', & amparray [I1]);

}

For (I1= 0; I1< =9; I 1++)

For(I2 = 0;; I2< = 9-I1; I2++)

{

If (array [I2] < Array [I2+1])

{

Box = array [I2+1];

Array [I2+1] = array [I2];

Array [I2] = 박스;

}

}

Printf ("\ n 정렬 후: \ n");

For (I1= 0; I1< =9; I 1++)

Printf(“% 3d>;; %d\n ",I 1+ 1, array [I1];

Getch ();

0 을 반환합니다

}