打开“链表.cpp”文件,将代码中TODO按下列要求填充完整 一、填充函数ShowList实现将单链表的所有元素输出出来。 二、填充函数ListLength实现单链表的求表长操作,返回链表的表长。 三、主函数: 1) 建立一个包括头结点和4个结点的(5,4,2,1)的单链表,实现单链表建立的基本操作。 2) 将该单链表的所有元素显示出来。 3) 输出该单链表的表长。 4) 判断链表是否为空。 5)清空链表。
时间: 2023-06-01 20:03:29 浏览: 107
单链表的基本操作.cpp
//链表.cpp
#include<iostream>
using namespace std;
struct Node
{
int data;
Node *next;
};
class LinkList
{
private:
Node *head;
public:
LinkList()//构造函数,建立头结点
{
head = new Node;
head->next = NULL;
}
~LinkList()//析构函数,清空链表
{
Node *p = head;
while (p)
{
Node *q = p->next;
delete p;
p = q;
}
}
void CreateList(int a[], int n)//创建链表
{
Node *p = head;
for (int i = 0; i < n; i++)
{
Node *q = new Node;
q->data = a[i];
q->next = NULL;
p->next = q;
p = q;
}
}
void ShowList()//输出链表
{
Node *p = head->next;
while (p)
{
cout << p->data << " ";
p = p->next;
}
cout << endl;
}
int ListLength()//求表长
{
int len = 0;
Node *p = head->next;
while (p)
{
len++;
p = p->next;
}
return len;
}
bool IsEmpty()//判断是否为空
{
if (head->next == NULL)
return true;
else
return false;
}
};
int main()
{
int a[4] = { 5,4,2,1 };
LinkList L;
L.CreateList(a, 4);
L.ShowList();
cout << "链表的表长为:" << L.ListLength() << endl;
if (L.IsEmpty())
cout << "链表为空" << endl;
else
cout << "链表不为空" << endl;
return 0;
}
阅读全文