有一串已经从小到大排好序的数2 3 5 8 9 10 18 26 32。现需要往这串数中插入6使其得到的新序列仍符合从小到大排列。如我们使用数组来实现这一操作,则需要将8和8后面的数都依次往后挪一位,如下
这样操作显然很耽误时间,如果使用链表则会快很多。
此时如果需要在8前面插入一个6,就只需像下图这样更改一下就可以了,而无需再将8及后面的数都依次往后挪一位。是不是很节省时间呢?
...
分类:
其他好文 时间:
2015-01-28 14:49:59
阅读次数:
159
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout::iterator it;for(it=vec....
分类:
编程语言 时间:
2015-01-11 16:09:23
阅读次数:
237
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1 基本操作(1)头文件#include.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout::iterator it;for(it=vec....
分类:
编程语言 时间:
2015-01-09 19:17:59
阅读次数:
197
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4585题目大意:不停的插入数字,问你跟他相距近的ID号。如果有两个距离相近的话选择小的那个。用map,先用upper_bound找到大的,然后迭代器减1,就能够找到相近的两个。然后。。用链表不知道为什么有...
分类:
其他好文 时间:
2014-11-23 12:59:06
阅读次数:
129
题意:给出一个字符串,有两种操作: 1.插入一个数字 2.交换两个字符 问最少多少步可以把该字符串变为一个后缀表达式(操作符只有*)。解法:仔细观察,发现如果数字够的话根本不用插入,数字够的最低标准为'*'的个数+1,因为最优是 '12*3*..' 这种形式,所以先判断够不够,不够就补,然后从左往....
分类:
其他好文 时间:
2014-10-14 21:14:09
阅读次数:
158
今天学的hash。说实话还没怎么搞懂,明天有时间把知识点总结写了,今天就小小的写个结题报告吧!题意: 在n (n.(2)创建vector对象,vector vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout::iterator it;for(it=vec....
分类:
其他好文 时间:
2014-08-05 22:26:30
阅读次数:
297
插入排序很简单,就像打扑克。手里有个牌4,再来一张牌5就本能的放到第一个牌的右边。如果来了个3就从右往左扫描,只要左边的比这个待插入数字大就交换。 插入排序是一种稳定的排序方法,时间复杂度O(n*n),空间复杂度O(1),最好的情况下时间复杂度为O(1).即本来就是一个有序或者相等的数组,则只需比较n-1次即可。下为源码,只需三行代码即可。//===========================...
分类:
其他好文 时间:
2014-07-11 08:35:55
阅读次数:
162
在c++中,vector是一个十分有用的容器,下面对这个容器做一下总结。1
基本操作(1)头文件#include.(2)创建vector对象,vector
vec;(3)尾部插入数字:vec.push_back(a);(4)使用下标访问元素,cout::iteratorit;for(it=vec.b...
分类:
编程语言 时间:
2014-05-01 04:46:15
阅读次数:
373