开发平台(Platform): (Ex: Win10, Linux, ...)
Windows7
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
dev c++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
小弟我最近开始读data structure,除了读理论也开始用code实作
我写了一个push function 传入一个结构指标跟一笔data
在function 里面新增一个结构指标存push的资料
新结构指标的next location为传入的结构指标
再让传入的结构指标等于那个新结构指标
预期应该用top function输出的资料为我push进去的资料
结果跟push之前的资料一样
测试了一下内存位置
push之前跟之后的内存位置一样
(说的可能有点不清楚,看程式码应该比较好了解)
程式码(Code):(请善用置底文网页, 记得排版)
#include<iostream>
using namespace std;
struct Node
{
int data;
struct Node* next;
};
typedef struct Node STACK;
STACK* create(int);
void push(STACK*,int);
void pop(STACK*);
void top(STACK*);
int main()
{
STACK* sta=create(50);
cout<<sta<<endl;
push(sta,100);
cout<<sta<<endl;
return 0;
}
STACK* create(int data)
{
STACK* tmp= new STACK;
tmp->data=data;
tmp->next=NULL;
return tmp;
}
void push(STACK* tmp, int data)
{
STACK* use=new STACK;
use->data=data;
use->next=tmp;
tmp=use;
}
void pop(STACK* tmp)
{
STACK* use=new STACK;
use=tmp;
tmp=tmp->next;
}
void top(STACK* tmp)
{
cout<<tmp->data<<endl;
}
补充说明(Supplement):