使用c#進行了泛型棧的實現,內部以list<>作為儲存器;
class cstack
public
int count
}//入棧
public
void push(t item)
//出棧
public t pop()
else
}//peek
public t top()
else
}public
void clear()
}
鏈棧,以linknode作為鍊錶結點;
鏈棧實質上是只允許在尾部進行刪除和插入的單鏈表;
//鏈棧,這裡泛型t實際為結點內的data型別
class linkstack
public
int count
}//入棧
public
void
push(t pushnode)
else
nodecount++;
}//出棧,並返回棧頂元素
public t pop()
else
}//返回棧頂元素
public t top()
}//清空棧
public
void
clear()
//棧是否為空
public
bool isempty
}//遍歷輸出棧元素
public
void
showallitem()}}
//---------------------------------
//鏈式結構結點類
public
class linknode
//構造方法只包含資料域的結點
public
linknode(t value)
public t data
set
}public linknodenext
set
}}
C 實現順序棧和鏈棧
順序棧和鏈棧分別類似於順序表和單鏈表,只是由於棧的first in last out性質,其操作相對簡單,是順序表和單鏈表的子集。鏈棧中的鏈不使用head屬性,這一屬性是多餘的,使用鏈棧類的topnode屬性即可。另外,為了避免每次返回鏈棧的長度都要遍歷所有結點,在鏈棧類中增加num屬性,push操...
C 實現順序棧和鏈棧
二,順序棧的實現 三,鏈棧的實現 棧的初始化 template typename t bool stack isempty 判斷棧是否為空 template typename t int stack getlength 獲得棧中資料元素的個數 template typename t int stac...
順序棧和鏈棧實現
以前參照weiss的 資料結構與演算法分析 寫過兩篇隨筆 因為考研的緣故,現在看了嚴蔚敏的 資料結構 c版 也跟著寫了一遍,原理都類似 鏈棧 鏈棧 typedef status typedef struct node stack typedef struct node ptrtonode struc...