本文采用C語言實現棧結構算法并舉例應用。
一 棧的基本原理分析
作為棧這種數據結構,數據是進行所謂的先進后出操作,但棧在操作中,并不需要在中間插入刪除操作、一般也不需要在進棧數據中查找什么,這種情況下,恰恰是順序表可以完成的非常好的場合,所以棧經常是用一個簡單的數組即可完成。
#include<stdio.h>
int s[100];
int top=0;
void push(int e)
{s[top]=e;top++;
}
int pop()
{top--;return s[top];
}
main()
{int i;for(i=0;i<10;i++)push(i);for(i=0;i<10;i++)printf("%d\n",pop());
}
這個程序就能完成最簡單的棧的程序,原理也很簡單。
對棧的應用,比如把10進制數1348轉換成8進制,則過程是:
商 余
1348/8 168 4