图解算法系列之冒泡排序(Low版)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了图解算法系列之冒泡排序(Low版)相关的知识,希望对你有一定的参考价值。
(1)算法描述
对于给定的线性序列,每一个元素与其下一个元素进行比较,如果满足大于当前元素就交换位置,然后依次向下比较。利用数学归纳法得知:N个元素总共比较N(N-1)次。
(2)图解算法
(3) C/C++代码实现
Custom.h
void BubbleSort(int arr[], int number);
Custom.cpp
void BubbleSort(int arr[], int number) {
for (int i = 0; i < number; i++) {
for(int j = 0; j < number-1; j++) {
if(arr[j] > arr[j+1]) {
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
(4)Java代码实现
public class BubbleSort {
public static void sort(int[] arr, int number) {
for (int i = 0; i < number; i++) {
for (int j = 0; j < number-1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
}
}
(5) 时间复杂度分析
无论是否数据规模处于最好还是最坏情况,都需要每个元素进行比较,因此时间复杂度是O(n^2)。
以上是关于图解算法系列之冒泡排序(Low版)的主要内容,如果未能解决你的问题,请参考以下文章