#include<iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
typedef int DataType;
typedef struct SNode { DataType data; char unit; struct SNode* next;
}SNode, * LinkStack;
int InitStack(LinkStack* top)
{ *top = (LinkStack)malloc(sizeof(SNode)); if (*top == NULL) { printf("初始化鏈堆疊出錯!\n"); return 0; } (*top)->next = NULL; return 1;
}
int StackEmpty(LinkStack top)
{ if (top->next == NULL) return 1; else return 0;
}
int Push(LinkStack top, DataType e, char u) { SNode* p; p = (SNode*)malloc(sizeof(SNode)); /*生成新結點*/ if (!p) { printf("入堆疊操作出錯!\n"); return 0; } p->data = e; p->unit = u; p->next = top->next;/*在堆疊頂位置插入新結點*/ top->next = p; return 1;
}
int Pop(LinkStack top, DataType* e, char* u) { SNode* p; if (!top->next) { printf("堆疊已空,無法完成出堆疊操作!\n"); return 0; } p = top->next; top->next = p->next; /*洗掉堆疊頂結點*/ *e = p->data; *u = p->unit; free(p); /*釋放被刪結點所占的記憶體空間*/ return 1;
}
int main()
{ int n; cout << "請輸入秒數:"; cin >> n; LinkStack q; InitStack(&q); char u; int days = n / (24 * 3600); Push(q, days, u); while (q != NULL) { cout << q->data << q->unit << endl; Pop(q, &q->data, &q->unit); }
}
這里問什么顯示我未初始化變數u,我不是已經定義了嗎
應該怎么改寫呢,或者有誰有其他的方法嗎
求助
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/200449.html
標籤:C++ 語言
下一篇:求幫助,急,介紹一下
