冒泡排序
- 定义
- 思想
- 代码实现
定义
它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从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;
}