您好,登錄后才能下訂單哦!
鏈棧的基本操作實現代碼如下:
#include<iostream>
using namespace std;
#define TRUE 1
#define FALSE 0
//鏈棧的結構
typedef struct node
{
int data;
struct node *next;
}LinkStackNode;
typedef LinkStackNode *LinkStack;
//鏈棧進棧
int Push(LinkStack top, int x)//將數據元素x壓入棧top中
{
LinkStackNode *temp;
temp = (LinkStackNode *)malloc(sizeof(LinkStackNode));
if (temp==NULL)//申請空間失敗
{
return FALSE;
}
temp->data= x;
temp->next = top->next;
top->next = temp;//修改當前棧頂指針
return TRUE;
}
//鏈棧出棧
int Pop(LinkStack top, int *x)//將棧top的棧頂元素彈出,放到x所指的存儲空間中
{
LinkStackNode *temp;
temp = top->next;
if (temp == NULL)//棧為空
{
return FALSE;
}
top->next = temp->next;
*x=temp->data ;
free(temp);//釋放存儲空間
return TRUE;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。