1 #include "iostream" 2 #include "string" 3 using
namespace std; 4 5 typedef struct node{ 6 string data; 7 struct node *next; 8
node(str...
分类:
其他好文 时间:
2014-05-19 22:08:01
阅读次数:
368
栈与队列都是具有特殊存取方式的线性表,栈属于先进后出(FILO),而队列则是先进先出(FIFO)。栈能够将递归问题转化为非递归问题,这是它的一个重要特性。除了FILO、FIFO这样的最普遍存取方式外,还有一些扩展的数据结构,如双端队列、双栈、超队列、超栈等,它们是一种扩展与变异结构。
线性表有...
分类:
编程语言 时间:
2014-05-19 11:36:46
阅读次数:
369
线性表的定义:N个数据元素的有限序列
线性表从存储结构上分为:顺序存储结构(数组)和 链式存储结构(链表)
顺序存储结构:是用一段连续的内存空间存储表中的数据 L=(a1,a2,a3....an)
链式存储结构:是用一段一段连续的内存空间存储表中每一行的数据,段与段之间通过一个引用(指针)相互连接来,形成一个链式的存储结构
看到顺序存储结构的图示,我们可能会马上联想到C语言的数组...
分类:
编程语言 时间:
2014-05-16 01:43:08
阅读次数:
359
线性表的实现分顺序存储结构和链式存储结构上一节我们主要介绍了顺序存储结构,在最后我们还分别总结了顺序存储结构的优缺点,对于顺序结构的缺点,我们有没有什么好的解决方法呢?我们今天要介绍的线性表的链式存储结构就可以很好的解决顺序结构的缺点,一起来看。顺序结构最大的缺点就是在进行插入和删除操作的时候,如果...
分类:
其他好文 时间:
2014-05-15 20:41:51
阅读次数:
474
由于线性表中每个数据元素的类型相同,可以用C或C++语言中的一维数组来实现顺序表。#includeusingnamespacestd;#defineLIST_INIT_SIZE50classSqList{int*elem;//存′?储′¢空?间?基ù址·intlength;//当μ±前°长3¤度èi...
分类:
其他好文 时间:
2014-05-15 17:42:45
阅读次数:
232
题意:给定两个代表数字的链表,每个节点里存放一个digit,数字是逆方向的,将这两个链表相加起来
思路:
1.i, j遍历l1,l2至最长,短的补零
2..设置一个进位变量c, 第i次遍历 l1,l2,c的和除以10进位,mod10留在这一位
3.出循环后还要检查是不是还有进位
复杂度:O(m+n), 空间O(m+n)...
分类:
其他好文 时间:
2014-05-15 13:38:03
阅读次数:
258
小学生放学都是要按顺序排队的,一个接一个,每个小学生的前后位置是固定的,这样便于迅速清点。其实这就是一个线性表,从这件事里我们就可以找到很多关于线性表的特性,如1、线性表是一个序列,它是有顺序的(排队)2、第一个元素无前驱,最后一个无后继,其他每个元素都有一个前驱和后继(一个接一个)3、元素是有限的...
分类:
其他好文 时间:
2014-05-15 10:36:45
阅读次数:
334
题意:给定一组数和另一个数,在这组数中找两个数,使它们的和等于给定的数
思路1: --> 错,因为题目要求返回下标。
1.排序
2.两个下标,一个指向头,一个指向尾
3.如果下标指向的两个元素相加大于给定的数,尾下标减一
如果小于,头下标加一
思路2: hash
1.用hash存储每个数的下标
2.数组,看hash[target-num[i]]是否存在
复杂度:时间O(n), 空间O(n)...
分类:
其他好文 时间:
2014-05-15 01:28:13
阅读次数:
297
题意:交换给定链表中的相邻节点,但不可以改变链表里的值
如1->2->3->4交换后为2->1->4->3
思路:
按题意中的扫描去改变每两个相邻节点的next指针的指向即可。
小技巧:
因为处理每两个相邻节点的时候,需要一个指针记录它们前一个节点,而头节点前面没有节点,
所以可设置一个dummy节点指向头指针,这样开头的两个节点的处理方式跟其它的相邻节点的处理方式就一样了
复杂度:时间O(n),空间O(1)...
分类:
其他好文 时间:
2014-05-15 00:16:00
阅读次数:
359
题意:从一个已排序的数组中移除掉重复的元素,每个元素最多可重复两次
思路: 思路和Remove Duplicates from Sorted Array一样,不过要设置一个计数变量,表示当前值出现的次数
出现次数少于2可以加入到新数组,多于2则不可以。每次遇到一个新变量要把计数变量重新设置为1,加入新数组要加1
复杂度:时间O(n), 空间O(1)...
分类:
其他好文 时间:
2014-05-14 21:03:00
阅读次数:
262