
数据结构
Shawei_
这个作者很懒,什么都没留下…
展开
-
排序——选择排序
基本思想:在数据中,每一趟(第i趟,i = 0,1,2,3…,n-2)在后面n-i个待排序的数据元素集合中选出关键码最小的数据元素,作为有序元素序列的第i个元素,待到第n-2趟做完,待排序元素集合只剩下1个元素,排序结束。直接选择排序:得到一个待排序的元素集合,我们先默认第一个元素为最小元素,用min标记起来。在待排序元素集合中,依次比较大小,如果比min标记的元素小,就把min标记到小的哪一...原创 2018-05-18 10:15:08 · 211 阅读 · 0 评论 -
排序——插入排序,希尔排序
基本思想:每一步将一个待排序的元素,按其排序码的大小,插入到前面已经排好序的序列的合适位置上,直到元素全部插入完毕。void InsertSort(int *arr, int size){ int i = 0; int end = 0; int tmp = 0; for (i = 1; i < size; i++)//第一个元素为有序序列 {...原创 2018-05-23 13:20:39 · 235 阅读 · 0 评论 -
排序——冒泡排序
啊实打实的原创 2018-07-21 12:35:43 · 181 阅读 · 0 评论 -
栈和队列面试题
1.使用两个栈,实现一个队列。 栈:先进后出,且只能从栈顶pop出数据。 队列:先进先出,对头pop数据,队尾push数据。 代码如下:#include<stack>template<typename T>class MyQueue{public: void Push(const &data) { //原创 2018-08-16 16:57:18 · 443 阅读 · 0 评论 -
排序——归并排序
归并排序:得到一个排序数组,先把它们划分为一个个有序的序列,再把每个有序的序列再一起归并起来,着就是归并排序。 代码如下:void mergearray(int arr[], int start, int mid, int end, int tmp[]){ int i = start; int j = mid + 1; int m = mid; in...原创 2018-09-12 14:51:30 · 308 阅读 · 0 评论