本文采用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
168/8 21 0
21/8 2 5