C 實現泛型順序棧和鏈棧

2021-08-27 20:52:30 字數 1047 閱讀 6333

使用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...