C语言杂记 0x08

栈与队列

数据结构的概念
数据结构(Data Structure)是数据的组织方式。程序中用到的数据都不是独立的,而是相互联系的,根据访问的需求不同,同样的数据可以有多种不同的组织方式。
堆栈是一组元素的集合,类似于数组,数组可以按下标随机访问,这次访问a[5]下次访问a[1],但是堆栈的访问被限制在push()和pop()两种方式
push()是指向栈的顶端压入元素(Element),pop()是指从栈的顶端弹出一个元素。所以对于栈我们只能操作他的顶端元素,正所谓先进后出

举例(用堆栈实现倒序打印):

#include 

char stack[512];
int top = 0;

void push(char c)
{
    stack[top++] = c;
}

char pop(void)
{
    return stack[--top];
}

int is_empty(void)
{
    return top == 0;
}

int main(void)
{
    push('a');
    push('b');
    push('c');

    while(!is_empty())
        putchar(pop());
    putchar('\n');

    return 0;
}

你可能感兴趣的:(C语言杂记)