인접한 요소를 비교합니다. 첫 번째 것이 두 번째 것보다 크면 둘 다 교환하세요.
첫 번째 쌍에서 시작하여 마지막 쌍으로 끝나는 인접한 요소의 각 쌍에 대해 동일한 작업을 수행합니다. 이 단계가 완료되면 최종 요소가 가장 큰 숫자가 됩니다.
마지막 요소를 제외한 모든 요소에 대해 위 단계를 반복합니다.
비교할 숫자 쌍이 더 이상 남지 않을 때까지 매번 점점 더 적은 수의 요소에 대해 위 단계를 반복합니다.
가장 작은 것부터 가장 큰 것까지 정렬합니다.
#include<stdio.h>
int main()
{
int arr[10] = {12,4,6,3,78,2,7,9,96,5};
for (int i = 0; i < 10-1; i++)//控制行,行运行一次必提取一个最大值
{
for (int j = 0; j < 10-1-i; j++)//控制列
{
if (arr[j] > arr[j + 1]) {
int temp = arr[j];//定义第三变量,当后面的值大于前面的值进行互换
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < 10; i++)//遍历
{
printf("%d\t", arr[i]);
}
return 0;
}
가장 큰 것부터 가장 작은 것까지 정렬합니다.
#include<stdio.h>
int main()
{
int arr[10] = {12,4,6,3,78,2,7,9,96,5};
for (int i = 0; i < 10-1; i++)//控制行,行运行一次必提取一个最小值
{
for (int j = 0; j < 10-1-i; j++)//控制列
{
if (arr[j] < arr[j + 1]) {
int temp = arr[j];//定义第三变量,当后面的值小于前面的值进行互换
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
for (int i = 0; i < 10; i++)//遍历
{
printf("%d\t", arr[i]);
}
return 0;
}