考研论坛

 找回密码
 立即注册
查看: 549|回复: 0

2019考研计算机数据结构考点:栈和队列的链式存储结构

[复制链接]

33万

主题

33万

帖子

100万

积分

论坛元老

Rank: 8Rank: 8

积分
1007237
发表于 2018-12-19 19:20:46 | 显示全部楼层 |阅读模式
根据历年考试经验,数据结构所占分值为45分,所占分值比重较大;而且数据结构部分的知识比较难于理解,为方便考生更好地复习计算机专业课,新东方在线整理了考研计算机数据结构的有关内容,以供大家参考,希望对大家有所帮助。
      三、栈和队列的链式存储结构
    1.栈的链式存储结构
    1.1概念
    采用链式存储结构称链栈,并由其栈顶指针惟一确定。
    设ls为栈顶指针,栈=(a1,a2,…,an),a1为栈底元素,an为栈顶元素。
    1.2基本运算
    ①建栈。
    Void initstack(linkstack *s)
    {
    s->top=NULL;
    }
    ②判栈空。
    Int stackempty (linkstack *s)
    {
    return s->top==NULL;
    }
    3进栈。
    Void push(linkstack *s,datatype x)
    {
    stacknode *p=(stacknode *)malloc(sizeof(stacknode));
    p->data=x;
    p->next=s->top;
    s->top=p;
    }
    ④退栈。
    Datatype pop(linksatck *s)
    {
    datatype x;
    stacknode *p=s->top;
    if(stackempty(s))
    error(“stack underflow”);
    x=p->data;
    s->top=p->next;
    free(p);
    return x;
    }
    5取栈顶元素。
    Datatype stacktop(linkstack *s)
    {
    if(stackempty(s))
    error(“stack is empty”);
    return s->top->data;
    }
    2.队的链式存储结构
    2.1概念
    用链表示的队列简称为链队列。设两个指针front、rear分别指示队头和队尾。为了链队列的操作方便,增加一个头结点,front指向头结点,rear指向队尾元
    素。如图所示:
   

    2.2基本运算
    ①建空队
    Void initqueue(linkqueue *q)
    {
    q->front=q->rear=NULL;
    }
    ②判队空。
    Int queueempty(linkqueue *q)
    {
    return q->front==NULL&&q->rear==NULL;
    }
    3入队。
    Void enqueue(linkqueue *q,datatype x)
    {
    queuenode *p=(queuenode *)malloc(sizeof(queuenode));
    p->data=x;
    p->next=NULL;
    if(queueempty(q))
    q-front=q->rear=p;
    else{
    q->rear->next=p;
    q->rear=p;
    }
    }
    ④出队。
    Datatype dequeue(linkqueue *q)
    {
    datatype x;
    queuenode *p;
    if(queueempty(q))
    error(“queue is underflow”);
    p=q->front;
    x=p->data;
    q->front=p->next;
    if(q->rear==p) q->rear=NULL;
    free(p);
    return x;
    }
    5取队头元素。
    Datatype queuefront(linkqueue *q)
    {
    if(queueempty(q))
    error(“queue is empty”);
    return q->front->data;
    }
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|新都网

GMT+8, 2024-11-19 19:18 , Processed in 0.071519 second(s), 8 queries , WinCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表