标题:链表的类
取消只看楼主
joyparkko
Rank: 1
等 级:新手上路
帖 子:4
专家分:3
注 册:2013-8-31
结帖率:0
 问题点数:0 回复次数:0 
链表的类
大家看一下这个链表的类,为什么在构造函数中head = NULL,不是head -> next = NULL。如果用第二种的话会报错。
head只是一个指针,它为空表示它内部成员指针 next也为空吗?
class LinkedList {
public:
 struct Node {
   int val;
   Node* next;
   Node(int v, Node* n) { val = v; next = n; }
 };
private:
 Node* head;

public:
 LinkedList() {
     head = NULL;
 }
 ~LinkedList() {
     Node* q;
     for (Node* p = head; p != NULL; p=q) {
          q=p->next;
         delete[] p;
     }
 }

 void addFirst(int v) {
     Node* p = new Node(v, head);
     p->val = v;
     p->next = head;
     head = p;
 }
 void addLast(int v) {
   Node* p;
   Node* q;
   if (head == NULL) {
     head = new Node(v, NULL);
     return;
   }
   for (p = head; p != NULL; q=p, p = p->next){}
     
   q->next = new Node(v, NULL);
 }

 void remove(Node* p) {
     Node* q;
     for (q = head; q != NULL; q=q->next)
         if (q->next == p) {
             q->next = p->next;
             return;
     }
 }
 Node* getFirst() {
   return head;
 }
 Node* getLast() {
   Node* p;
   Node* q;
   for (p = head; p != NULL; q=p, p = p->next);
   return q;
 }
};
搜索更多相关主题的帖子: private public 
2013-09-26 22:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-421158-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.395152 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved