Advertisement

数据结构:栈、队列、排序以及算法复杂度

阅读量:

一、栈和队列
栈和队列都是对结点操作位置有要求的特殊线性表
栈(先进后出)----->子弹入膛
队列(先进先出)----->食堂排队
二、栈(数据结构)
1.概念
线性表的插入(压栈)和删除(出栈)都只能在同一个端点进行,不能在其他位置,这样的结构称之为栈
2.分类
顺序栈、链式栈(带头结点的单向不循环链表)
3.特性
后进先出,一端是完全封死的,只有另外一端是用来控制和插入的,所以说,最先进来的结点肯定是最后出去的
4.链式栈(stack)
其实就是一个头插头删或者尾插尾删的链表
三、链式栈的设计和创建

复制代码
 1.设计:

    
 typedef int SElemType_t;
    
 //数据结点
    
 struct node
    
 {
    
     SElemType_t data;
    
     struct node *next;
    
 };
    
 //链式栈的管理结构体(头结点)
    
 struct list_stack
    
 {
    
         struct node *stack;//保存首结点的地址
    
         int size;//栈结构体中元素的个数(结点个数)
    
 };
    
 struct list_s

全部评论 (0)

还没有任何评论哟~