64,649
社区成员
发帖
与我相关
我的任务
分享
void main()
{
//算是初始化吧
PLISTNODE first=new LISTNODE; //首结点
first->data=new data_type; //data_type为随便的数据类型
*((data_type*)first->data)=...; //赋值
PLISTNODE last=first; //末结点
size_t num=1;//结点数
.
.
.
}
//push函数
void push(PLISTNODE last,size_t& num)
{
num++;
last->next=new LISTNODE;
last->next->data=new data_type;
*((data_type*)last->next->data)=...;
last=last->next;
}
//pop函数
void pop(PLISTNODE frist,PLISTNODE last,size_t& num)
{
num--; //节点数减一
delete (data_type*)last->data; //删结点中的data
delete last; //删节点
last=first;
for(int i=num;i-1>0;i--) //last指向最后结点
{
last=last->next;
}
}
//delete函数
void delete (PLISTNODE frist,PLISTNODE last,size_t& num)
{
for(int i=num;i>0;i--)
pop(first,last,num);
}
void main()
{
//算是初始化吧
PLISTNODE first=new LISTNODE; //首结点
first->data=new data_type; //data_type为随便的数据类型
*((data_type*)first->data)=...; //赋值
PLISTNODE last=first; //末结点
size_t num=1;//结点数
.
.
.
}
//push函数
void push(PLISTNODE last,size_t& num)
{
num++;
last->next=new LISTNODE;
last->next->data=new data_type;
*((data_type*)last->next->data)=...;
last=last->next;
}
//pop函数
void pop(PLISTNODE frist,PLISTNODE last,size_t& num)
{
num--; //节点数减一
delete (data_type*)last->data; //删结点中的data
delete last; //删节点
last=first;
for(int i=num;i-1>0;i--) //last指向最后结点
{
last=last->next;
}
}
//delete函数
void delete (PLISTNODE frist,PLISTNODE last,size_t& num)
{
for(int i=num;i>0;i--)
pop(first,last,num);
}