点击目录传送ฅʕ•̫͡•ʔฅ
理解
我的链表
9.20 今天下午先到这( ̄▽ ̄)"
#include<iostream>
#include<cstdlib>
using namespace std;
//要敲出一个属于我的链表。。
//需要头结点、头指针、结点的结构体、还有各种方法(一个一个的来)。
typedef struct Node{
//结点的结构体成员需要数据域和指针域
char DF; //数据域(用来存数据)
struct Node *next; //这是一个指向结点的指针(指针域)
}LinkList;
//头结点
struct ListHead{
//头结点的数据域可以用,可以不用,这里用来保存链表长度
int Length;
LinkList *next; //头结点的指针域是指向首元结点的,也得是LinkList类型
};
//还不能直接写方法,需要初始化链表。。。
//初始化链表
LinkList * init(int *i){
//这是...结点指针类型的函数?
//先安排上头指针
LinkList *Head,*p,*q;
char ch;
Head = q = NULL;
cout << "Please enter the contents of the LinkList(End with enter):" << endl;
while((ch = getchar()) != '\n'){
//每一次循环前getchar(输入)一个字符,判断是否为换行符(回车)。
//每一个字符都要存放在一个结点里
p = (LinkList *)malloc(sizeof(LinkList)); //给新结点分配空间(可以把指向结点数据域首地址的指针看做结点)
p->DF = ch; //将接受的字符存到新建结点的数据域中
if(!(*i)){
//这个i是头结点里存的链表长度的首地址(&Head->Length)这个(*i)是将长度取出,!(*i)的意思是如果长度不够。
Head = q = p;
(*i)