중화사전망 - 서예자전 - 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 을 반환합니다
}