数据结构基础
苏城yzw
这个作者很懒,什么都没留下…
展开
-
容器的操作
/*vector函数与deque 相似*/ #include #include using namespace std; int main() { int a[5]={0,1,5,6,4}; vectorV; V.assign(a,a+5); int i; for(i=1;i printf("%d\n",V[i-1]); return 0; }原创 2014-07-15 17:16:23 · 320 阅读 · 0 评论 -
链表的操作
/*与vector相比多了7个函数*/ /*merge(),remove(),reverse(),remove_if(),splice(),unique(),sort()*/ #include #include using namespace std; #include int Is(int x) { if(x==0) return 1; ret原创 2014-07-15 18:26:51 · 327 阅读 · 0 评论 -
线性表的链式存储
此方法虽然简单,但是真写起来太复杂了。 /*线性表的链式存储*/ #include #include struct Lnode { int a; Lnode *next; }; /*线性表的初始化*/ void Init_L(Lnode *&L) { L=(Lnode*)malloc(sizeof(Lnode)); L->a=0; L->next=NULL; }原创 2014-07-14 16:08:50 · 346 阅读 · 0 评论 -
优先队列的操作
//优先队列主要2个函数 push(),top(), //建立队列时,需要priority_queue #include #include using namespace std; struct Node { int priority; int value;//自己可以定义大的在下,小的在上 friend bool operator { return n2.priori原创 2014-07-15 13:09:20 · 398 阅读 · 0 评论 -
双链表的建立与实现
/*双链表的建立与实现*/ #include #include struct Dnode { int data; Dnode *prior; Dnode *next; }; /*双链表的初始化*/ void Init_D(Dnode *&D) { D=(Dnode*)malloc(sizeof(Dnode)); D->prior=NULL; D->next=NU原创 2014-07-14 18:15:03 · 399 阅读 · 0 评论 -
双向结束队列的操作
/*支持随机操作,同时双向插入和删除, 如果插入和删除,并且要求随机存取,最好用deque 要求存取的用vector 要求插入和删除的用list*/ /*deque:double_end_queue*/ #include #include #include using namespace std; int main() { int a[4]={0,1,2,3}; deque原创 2014-07-15 16:39:36 · 402 阅读 · 0 评论 -
stl 的stack函数
/*stl中的stack应用*/ //top(),push(),pop(),size(),empty(); #include #include #include using namespace std; int main() { int i; stackStack; for(i=1;i Stack.push(i);//进入插入函数操作 push(); printf("原创 2014-07-14 19:52:23 · 588 阅读 · 0 评论 -
线性表的顺寻存储
此表很好建立,而且进行查找,删除,插入原创 2014-07-14 11:36:02 · 397 阅读 · 0 评论 -
心得
本来我并不喜欢写心得,写一些原创 2014-07-14 10:44:50 · 305 阅读 · 0 评论 -
stl 队列
// 总共6个函数 可以理解为 迎面而来的一个队列,front()为最前的,back为最后面的 //他们以持续插入后面,还有push(),pop(),empty(),size(); #include #include using namespace std; int main() { queueQueue; int i; for(i=1;i Queue.push(i);原创 2014-07-14 20:13:50 · 334 阅读 · 0 评论