链表--单链表

来源:互联网 发布:python str replace 编辑:程序博客网 时间:2024/05/29 02:46
#ifndef THREELETTERNODE_H#define THREELETTERNODE_Hclass ThreeLetterList{private://嵌套类,class ThreeLetterNode{public:char data[4];  // 一个数据域,ThreeLetterNode *link;  // 链接域,};ThreeLetterNode *first;public:void test();void show();};void ThreeLetterList::test(){ThreeLetterNode *f = new ThreeLetterNode();f->data[0] = 'x';f->data[1] = 'i';f->data[2] = 'a';f->data[3] = 'o';f->link = 0;first = f;f = new ThreeLetterNode();f->data[0] = 'a';f->data[1] = 'i';f->data[2] = 'a';f->data[3] = 'o';f->link = 0;first->link = f;}void ThreeLetterList::show(){std::cout << first->data[0] << first->data[1] << first->data[2] << first->data[3] << " -> ";std::cout << first->link->data[0]<< first->link->data[1]<< first->link->data[2] << first->link->data[3] << std::endl;}#endif THREELETTERNODE_H

#include <iostream>#include "ThreeLetterNode.h"using namespace std;class NodeB;class NodeA{private:int data1; // 三个数据域char data2;float data3;NodeA *linka;NodeB *linkb;};class NodeB{private:int data;NodeB *link;};class List;class Node   // 节点,{friend class List;  // 友元类,private:int data;  // 节点里的数据,Node* link;  // 指向下一个节点的指针};class List // 链表,{public:void test();void show();private:Node* first; // 指向第一个节点的指针,};void List::show(){cout << first->data << " -> "<< first->link->data << " -> "<< first->link->link->data << endl;}void List::test(){Node *f=new Node();f->data = 44;f->link = 0;first = f;f = new Node();f->data = 70;f->link = 0;first->link = f;f = new Node();f->data = 200;f->link = 0;first->link->link = f;}int main(){List s;s.test();s.show();ThreeLetterList t;t.test();t.show();return 0;}// 数组在插入或者删除数据的排序时候,需要把其它的数据向前或者向后移动。//然而链表直接把数据插入到相应的位置或者直接的删除掉,对应的其它的数据不用移动,

0 0