📔
数据结构简单学
  • 序言
  • 绪论
    • 数据结构基本概念
    • 算法基本概念
  • 线性表
    • 顺序表
    • 单链表
    • 双链表
    • 循环链表
    • 区别
  • 栈和队列
    • 栈
    • 队列
    • 应用
  • 数组
  • 字符串
  • 哈希表
  • 树和二叉树
    • 基本概念
    • 二叉树遍历与构造
    • 线索二叉树
    • 树、森林
    • 二叉排序树
    • 平衡二叉树
    • 哈夫曼树
  • 图
    • 基本概念
    • 图的存储及基本操作
    • 图的遍历
    • 图的应用
  • 查找算法
  • 排序算法
    • 冒泡排序
    • 简单选择排序
    • 简单插入排序
    • 希尔排序
    • 归并排序
    • 快速排序
    • 堆排序
  • STL系列
    • 基础知识
    • Vector 动态数组
    • List 链表
    • Stack 栈
    • Queue 队列
    • Set 集合
    • Map
  • 总结与展望
Powered by GitBook
On this page
  • 算法思想:
  • 代码实现(C++):
  • 输出结果:

Was this helpful?

  1. 排序算法

冒泡排序

算法思想:

代码实现(C++):

#include<iostream>
#include<vector>
#include<stdlib.h>
using namespace std;

void BubbleSort(vector<int>& nums) {
    int sz = nums.size();
    for (int i = 0 ; i < sz-1 ; i++) {
        for (int j = 0 ; j < sz - 1 - i; j++) {
            if (nums[j] > nums[j+1])
                swap(nums[j], nums[j+1]);
        }
    }
}

int main() {
    vector<int> nums;
    for (int i = 0; i < 10; i++) {
        nums.push_back(rand() % 100);
    }
    cout << "排序前: ";
    for (int i = 0; i < 10; i++) {
        cout << nums[i] << " ";
    }
    cout << endl;
    BubbleSort(nums);
    cout << "排序后: ";
    for (int i = 0; i < 10; i++) {
        cout << nums[i] << " ";
    }
    return 0;
}

输出结果:

Previous排序算法Next简单选择排序

Last updated 4 years ago

Was this helpful?