C language, bubble sort method

principle:

From small to large:

#include<stdio.h>
int main() {

	int arr[10] = { 1,3,5,7,9,8,6,4,2,10 };
	for (int i = 0; i < sizeof(arr)/sizeof(arr[0])-1; i++){
//你也可以把sizeof(arr)/sizeof(arr[0])-1换位,10-1
		for (int j = 0; j < sizeof(arr)/sizeof(arr[0])-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 < sizeof(arr)/sizeof(arr[0]); i++)
	{
		printf("%3d", arr[i]);

	}
	return 0;
}

 

From largest to smallest:

int main(void) {

	int arr[10] = { 1,3,5,7,9,8,6,4,2,10 };
	for (int i = 0; i < sizeof(arr) / sizeof(arr[0]) - 1; i++) {//每执行一次必提取一个最小值
		for (int j = 0; j < sizeof(arr) / sizeof(arr[0]) - 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 < sizeof(arr) / sizeof(arr[0]); i++)//遍历数组
	{
		printf("%3d", arr[i]);

	}
	return 0;
}

 

 

Guess you like

Origin blog.csdn.net/m0_62247560/article/details/125011673