
排序算法
数据结构、算法是程序员的必修课,简单记录下排序算法的实现
像迷了路9876
qq2575935520
展开
-
C++实现二路归并排序算法
排序算法分为五大类,一共是有九种,如下:插入类:直接插入排序、折半插入排序、希尔排序交换类:冒泡排序、快速排序选择类:简单选择排序、堆排序归并类:二路归并排序基数类:多关键字排序九种算法的时间复杂度、空间复杂度和稳定性小结如下:本文放出二路归并算法的排序算法代码。二路归并排序void merge(int R[], int low, int mid, int high){ int len = high - low + 1; int* temp = new int[len]; int原创 2020-11-05 22:21:20 · 6189 阅读 · 0 评论 -
Java实现LRU
首先看看什么是LRULRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。(来自[百度百科](https://baike.baidu.com/item/LRU/1269842?fr=aladdin))Java实现先来捋一下思路,我们需要准备一个双向链表,这样到时候删原创 2022-04-04 13:49:27 · 1136 阅读 · 0 评论 -
C++实现交换排序算法(冒泡排序、快速排序)
排序算法分为五大类,一共是有九种,如下:插入类:直接插入排序、折半插入排序、希尔排序交换类:冒泡排序、快速排序选择类:简单选择排序、堆排序归并类:二路归并排序基数类:多关键字排序九种算法的时间复杂度、空间复杂度和稳定性小结如下:本文放出选择算法的两种排序算法代码。冒泡排序void BubbleSort(int R[], int n) { int i, j, temp, flag; cout << endl << "冒泡排序:" << endl;原创 2020-11-01 22:10:44 · 3616 阅读 · 0 评论 -
C++实现选择排序算法(简单选择排序、堆排序)
排序算法分为五大类,一共是有九种,如下:插入类:直接插入排序、折半插入排序、希尔排序交换类:冒泡排序、快速排序选择类:简单选择排序、堆排序归并类:二路归并排序基数类:多关键字排序九种算法的时间复杂度、空间复杂度和稳定性小结如下:本文放出选择算法的两种排序算法代码。简单选择排序void SelectSort(int R[], int n) { int i, j, k, temp; cout << "简单选择排序" << endl; for (i = 0; i原创 2020-11-04 22:06:00 · 4272 阅读 · 0 评论 -
C++实现插入排序算法(直接插入排序、折半插入排序、希尔排序)
排序算法分为五大类,一共是有九种,如下:插入类:直接插入排序、折半插入排序、希尔排序交换类:冒泡排序、快速排序选择类:简单选择排序、堆排序归并类:二路归并排序基数类:多关键字排序九种算法的时间复杂度、空间复杂度和稳定性小结如下:本文放出插入算法的三种排序算法代码。直接插入排序void InsertSort(int R[], int n) { if (R == NULL || n <= 0) return; int i, j, temp; cout<<"直接插入原创 2020-11-01 13:53:47 · 6289 阅读 · 0 评论