看下这个链表的链接 加分!!

来源:百度知道 编辑:UC知道 时间:2024/06/20 19:00:46
#include<iostream.h>
#include<stdlib.h>

struct node
{
int num;
node *next;
}
node *llink;

void outputnodes( llink head) //链表的输出
{
llink nodeN;
int i=1;
nodeN=head;
while(nodeN)
{
cout<<"第i个结点的数据为:"<<nodeN->num<<'\n';
nodeN=nodeN->next;
i++;
}
}

llink createlinked() //链表创建
{
llink p1,ptr1,head;
int a;
head=0;
cout<<"产生一条无序链表,请输入数据,以-1结束:\n";
while(1)
{
cin>>a;
if(a==-1)break;
p1=new node;
p1->num=a;
if(head==0){
p1=head;
ptr1=p1;
}
else{
ptr1->next=p1;
ptr1=p1; //使指针p2始终指向链表的最后一个结点
}
}
if(head)
ptr1->next=0; //表示链表创建完毕
delete p1;
return head;
}

lli

#include<iostream.h>
#include<stdlib.h>

typedef struct Node//这里要用typedef定义结构体的别名
{//定义后相当于Node=struct Node,Llink=struct Node *
int num;
Node *next;
}Node, *Llink;

void outputnodes(Llink head) //链表的输出
{
Llink nodeN;

int i=1;
nodeN=head;
while(nodeN->next)
{
nodeN=nodeN->next;
cout<<"第"<<i<<"个结点的数据为:"<<nodeN->num<<'\n';//这里修改了,注意
i++;
}
}

Llink createlinked() //链表创建
{
Llink p1,ptr1,head;
int a;
head=new Node;//head=0;
head->next=NULL;//设置头指针的next为空
cout<<"产生一条无序链表,请输入数据,以-1结束:\n";
while(1)
{
cin>>a;
if(a==-1)break;
p1=new Node;
p1->num=a;
if(head->next==NULL){//设定头指针
head->next=p1;//原来是p1=head
ptr1=p1;
}
else{