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