做彩票网站需要什么,千博网站后台,休闲旅游产品营销网站的建设策略,长春建立一个网站需要多少钱?http://blog.csdn.net/jwentao01/article/details/46765517###;栈基本概念#xff1a; 栈#xff08;stack#xff09;是限定在表尾进行插入和删除操作的线性表#xff08;或单链表#xff09;。 //只能在一段进行插入和删除#xff0c;因此不存在#xff0c;在中间进行…http://blog.csdn.net/jwentao01/article/details/46765517###;栈基本概念 栈stack是限定在表尾进行插入和删除操作的线性表或单链表。 //只能在一段进行插入和删除因此不存在在中间进行插入 栈顶top允许插入和删除的一端。而另一端称为栈底bottom 空栈不含任何数据元素的栈。 后进先出
两个基本操作 栈的插入操作push叫做进栈或压栈或入栈 删除操作pop叫做出栈或弹栈 注意链栈next指针的指向与队列不同 如果插入一个元素它的next指针是指向前一个已经在栈中的元素的 而队列则是插入一个元素其next指针是往外指指向空。 链栈的next指针之所以这样是方便删除操作这一点可以在编程的过程中体会到。
以下是代码
#include iostreamusing namespace std;typedef struct node{int data;struct node *next;
}Node;typedef struct stack{Node *top; /**书本写法是加一个bottom个人感觉没什么用反而加一个count用于表示节点数会更好*/int count;
}Link_Stack;/**创建一个空栈*/
Link_Stack * Creat_stack()
{Link_Stack *p;p new Link_Stack; /**这一步不要忘需要给p创建空间*/p-count 0;p-top NULL;return p;
}/**入栈操作push*/
Link_Stack * Push_stack(Link_Stack *p,int elem)
{if(NULL p)return NULL;Node *temp;temp new Node;temp-data elem;temp-next p-top; /**注意这里和队列的入队操作不同next指向不同为了方便出栈操作*/p-top temp;p-count 1;return p;
}/**出栈操作pop*/
Link_Stack * Pop_stack(Link_Stack *p)
{Node *temp;temp p-top;if(NULL p-top){cout The stack is empty. endl;return p;}else{p-top p-top-next; /** temp temp-next; 千万不能这么写看看下一步是什么*/delete temp;p-count - 1;return p;}
}/**栈的遍历输出栈*/
int Show_stack(Link_Stack *p)
{Node *temp;temp p-top;if(NULL p-top){cout The stack is empty. endl;return 0;}while(NULL ! temp){cout temp-data ;temp temp-next;}cout endl;return 0;
}int main()
{int i 5;int elem;Link_Stack *p;p Creat_stack();while(i--){cin elem;Push_stack(p,elem);}cout 空栈插入5个元素后: endl;Show_stack(p);cout 删除3个元素后: endl;for(i 3;i--;){Pop_stack(p);}Show_stack(p);cout count: p-count endl;cout 删除2个元素后: endl;for(i 2;i--;){Pop_stack(p);}Show_stack(p);cout count: p-count endl;Push_stack(p,6);cout 插入元素6后: endl;Show_stack(p);cout count: p-count endl;return 0;
}
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
结果如下
/点滴积累我的一小步O(∩_∩)O~/