(1)输入10个整数,建立单链表存放这10个数,链表的头指针为head,然后输出该链表。

来源:百度知道 编辑:UC知道 时间:2024/07/04 16:06:08
(1)输入10个整数,建立单链表存放这10个数,链表的头指针为head,然后输出该链表。
(2)输入1个整数,将这个数插入到链表中,并输出整个链表。
(3)给定一个整数,在该链表中删除这个整数所在的节点,并输出删除后的链表。

#include <iostream.h>

class Node //链表结点类
{
public:
Node():next(NULL){}
Node(int n,Node * ptr=NULL):num(n),next(ptr){}
Node * next;
int GetNum() const
{
return num;
}
private:
int num;
};

class List //链表类
{
friend ostream & operator <<(ostream & os,List & l); //重载输出,用于输出链表
public:
List():head(NULL){} //缺省构造函数
List(int * a,int size); //从数组构造链表
int Add(int n); //增加结点
int Del(int n); //删除结点
private:
Node * head;
};

List::List(int * a,int size)
{
head=NULL;
for(int i=0;i<size;i++)
Add(a[i]);
}

int List::Add(int n)
{
if(head==NULL)
{
head=new Node(n);
return 1;
}
else
{
Node * p=head;
while(p->next!=NULL)
p=p->next;
p->next=new Node(n);
return 1;
}
return 0;
}