structdata
{
int x; //这是数据
struct data *next;
};
typedef struct data * dataNode;
创建链表
dataNode read()
{
struct data*node0, *node1, *head;
node0 =newdata;
node1 =newdata;
head =newdata;//分配指针空间
node0 = node1 = head =NULL;
scanf("%d", &node0 -> x);
node0 -> next = node1;
head = node0;
while (node0 -> x >0) //这里写退出条件
{
scanf("%d", &node1 -> x);
node0 = node1;
node1 =newdata;
node0 -> next = node1;
}
node1 -> next =NULL;
node0 =NULL;
node1 =NULL; //释放指针
delete node0;
delete node1;
return head;//返回头指针
}
遍历链表
void outp(dataNode head)
{
struct data*st;
st =NULL;
st =newdata;
st = head;
while (NULL!= st -> next)
{
cout << st -> x << endl; //遍历操作
st = st -> next;
}
st =NULL;
delete st;
return ;
}