**
实验题目
**
对输入的正整数序列建立有序单链表。在建立单链表的过程中,链表中的数据元素按升序排列。当输入的数据元素在单链表中已经存在时,不进行插入操作。
请使用面向对象形式定义结点类和链表类,参考代码如下。
class Node
{
int data;
Node* next;
friend class LinkList; //声明友元类,以便在LinkList类中可以访问Node类的私有成员。
};
class LinkList
{
Node* head;
int size;
public:
…
};
代码如下:
#include<iostream>
using namespace std;
class Node
{
int data;
Node* next;
friend class LinkList;
};
class LinkList
{
Node* head;
int size;
public:
LinkList() {
head = new Node;
head->next = NULL;
size = 0;
}
void addNode(int x) { //加入节点
Node *p, *q;
p = head;
while (1) {
if (p->next == NULL) { //最后一位情况
q = new Node;
q->next = p->next;
q->data = x;
p->next = q;
size++;
break;
}
if (p->next->data == x) //去重
break;
if (p->next->data < x) {