冒泡排序,它来了!!

冒泡排序

定义

  它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

  排序核心思路就是两种方式:升序和降序。

思想

  此处我们以升序为例,前一个元素要比后一个元素小,核心就是进行相邻元素的比较和交换,这里我们按照从后往前遍历的方式进行比较和交换。

代码实现

#include<stdio.h>//实现一个对整形数组的冒泡排序
#include<windows.h>

void Sort(int arr[],int size){
    
    
	for (int border = 0; border < size; border++){
    
    
		for (int cur = size - 1; cur>border; cur--){
    
    
			if (arr[cur - 1] > arr[cur]){
    
    

				int temp = arr[cur - 1];
				arr[cur - 1] = arr[cur];
				arr[cur] = temp;	
			}

		}
	}
}
int main(){
    
    
	int arr[4] = {
    
     9, 5, 2, 7};
	int size = sizeof(arr) / sizeof(arr[0]);
	Sort(arr, sizeof(arr) / sizeof(arr[0]));
	for (int i = 0; i < size; i++){
    
    
		printf("%d\n", arr[i]);
	}
	system("pause");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_46877337/article/details/109430121