压链栈与进链队列和创建线性表的关系

来源:互联网 发布:最优化理论与方法 编辑:程序博客网 时间:2024/06/07 03:44

首先,来写下
1.线性表的头插法

void CreateFromHead(linklist *h){    lisklist *s;    char c;    c=getchar();    while(c!='$')    {        s=(linklist *)malloc(sizeof(linklist));        s->data=c;        s->next=h->next;        h->next=s;        c=getchar();    }}

进栈的代码

int push(LinkStack *top,StackElemType x){    LinkStack *new;    new=(LinkStack)malloc(sizeof(LinkStack));    if(new==NULL)return FALSE;    new->data=x;    new->next=top->next;    top->next=new;    return OK;}

2.线性表的尾插法

void CreateFromTail(LinkList *h){    LinkList *tail,*new;    tail=h;    char c=getchar();    while(c!='$')    {        new=(linklist *)malloc(sizeof(linklist));        new->data=c;        tail->next=new;        tail=new;        c=getchar();            }    tail->next=NULL;    }

链队列的入队

int EnterQueue(LinkQueue *q,QueueElemType x){    LinkQueueNode *newnode;    newnode=(LinkQueue*)malloc(sizeof(LinkQueue));    if(newnode==NULL)    return FALSE;    newnode->data=x;    newnode->next=NULL;    q->rear->next=newnode;    q->rear=newnode;    return OK;  }

栈与队列的出现或者说是必然,也是偶然

0 0