#include
#include
#include
using namespace std;
typedef struct node
{
struct node* next;
int number;
int data;
}NODE;
void node_add(NODE**,int,int);
void node_show(NODE*);
void node_delete(NODE**);
int main()
{
NODE* head = NULL;
node_add(&head,1,100);
node_add(&head,2,200);
node_add(&head,3,300);
node_show(head);
node_delete(&head);
node_show(head); //这里为什么又倒着输出了,不是删除了,应该输出随机数吗?
head = NULL;
return 0;
}
void node_add(NODE** head,int number,int data)
{
if(*head == NULL)
{
NODE* node = (NODE*)malloc(sizeof(NODE));
if(node == NULL)
{
cout<<"分配内存失败"<
}
node->data = data;
node->number = number;
node->next = NULL;
head = node;
}
else
{
NODE tem = *head;
while(tem->next)
{
tem = tem->next;
}
NODE* node = (NODE*)malloc(sizeof(NODE));
if(node == NULL)
{
cout<<"分配内存失败"<<endl;
}
node->data = data;
node->number = number;
node->next = NULL;
tem->next = node;
}
}
void node_show(NODE* head)
{
while(head)
{
cout<number<<" "<data<
head = head->next;
}
}
void node_delete(NODE** head)
{
NODE* tem = NULL;
while((*head)->next)
{
tem = (*head)->next;
free(*head);
*head = tem;
}
free(*head);
}