上一篇文章总结了插入排序中的直接插入排序和希尔排序,本篇文章总结一下 排序算法中的交换排序,其中包括冒泡排序和快速排序。
3、冒泡排序
冒泡排序是快速排序算法中最简单的一种,主要是借助“交换”的排序方法。
基本思想:对每一对相邻的两个元素进行比较,然后排序,使较大值靠后,较小值靠前,最后会将此序列中的最大值排列到最后,然后从头开始重复上述步骤,筛选出第二大值为于最大值的前边。再次重复上述步骤直至整个序列有序。
总体来说其时间复杂度为O(n^2)。
其空间复杂度为O(1)。
# include<stdio.h>
# include<assert.h>
# include<time.h>
# include<stdlib.h>void BuleSort(int *arr, int len)//冒泡排序
{assert(NULL != arr);int tmp=0;for (int i = 0; i<len; ++i){for (int j = 0; j<len - 1; ++j){if (arr[j]>arr[j + 1]){tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}
}int main()
{int arr[1
本文发布于:2024-01-29 07:24:32,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170648427513658.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |