
数据结构与算法
文章平均质量分 72
Miss_Miduo
这个作者很懒,什么都没留下…
展开
-
数据结构与算法:C++实现插入排序
插入排序分为:直接插入排序和希尔排序直接插入排序 将元素插入有序数组中,与选择排序不同,插入排序的时间取决于数组中元素的初始顺序#includeusing namespace std;void Insert(int* a, int n){ int t; for (int i = 0; i < n; i++) { for (int j = i - 1原创 2016-05-06 08:16:04 · 531 阅读 · 0 评论 -
数据结构与算法:C++实现选择排序
选择排序:首先找到数组中最小的元素,其次,将它与数组中第一个元素交换位置;再次,从剩下的数组中找到最小的元素并与第二个元素交换位置;不断地选择剩余元素中的最小者。#includeusing namespace std;void ChoiceSort(int* a, int n){ int t; for (int i = 0; i < n; i++) { int原创 2016-05-06 07:24:56 · 562 阅读 · 0 评论 -
数据结构与算法:C++实现快速排序
快速排序思想:先找到一个切分点,然后使大于它的放后面,小于它的放前面。切分将一个较大的随机数组分成两个随机子数组。优点:比较次数较少。原创 2016-05-09 13:35:51 · 519 阅读 · 0 评论 -
数据结构与算法:C++实现归并排序
归并排序思想:将两个有序数组归并成一个更大的数组。优点:原创 2016-05-08 21:03:36 · 504 阅读 · 0 评论 -
数据结构与算是:C++实现堆排序
堆排序(基于堆的优先队列实现的)首先介绍一下二叉堆及其相关的算法1.堆在二叉堆中,每个元素都有保证大于等于另两个特定位置的元素,根结点是堆有序二叉树中最大结点。我们有完全二叉树来表示堆,先定下根结点。然后一层一层地由上向下、由左向右,每个结点的下方连接两个更小的结点,直到将N个结点全部连接完毕。如下图就是一个二叉堆的结构在一个堆中,位置k结点的父结点的位置为[k原创 2016-06-01 14:27:53 · 544 阅读 · 0 评论 -
大数相乘(n阶乘实现)
#include#include#includeusing namespace std;string IntToStr(int x){ string str; int t; while (x){ t = x % 10; str += t + '0'; x /= 10; } return str;}vector Mul(string str1, string st原创 2016-09-19 09:27:10 · 571 阅读 · 0 评论