标签:fp char lNode void c++ next 链表 基本操作 data
//
// Created by 周亮 on 2021/11/2.
//
#include "iostream"
typedef struct st{
char *data;
struct st *next;
}lNode;
void init(lNode *fp);
bool empty(lNode *fp);
void headInsert(lNode *fp, char *data);
void tailInsert(lNode *fp, char *data);
void insertPrior(lNode *p, char *data);
void deleteNode(lNode *fp);
int main(){
lNode *fp = (lNode*) malloc(sizeof (lNode*));
init(fp);
headInsert(fp, "first");
headInsert(fp, "second");
tailInsert(fp, "third");
deleteNode(fp);
int a = 1;
return 0;
}
void init(lNode *fp){
fp->data = nullptr;
fp->next = nullptr;
}
bool empty(lNode *fp){
if (fp->next == nullptr){
return true;
}
return false;
}
void headInsert(lNode *fp, char *data){
lNode *p = (lNode *) malloc(sizeof (lNode));
p->data = data;
p->next = fp->next;
fp->next = p;
}
void tailInsert(lNode *fp, char *data){
lNode *p = (lNode *) malloc(sizeof (lNode));
p->data = data;
lNode *s =fp;
while (s->next != nullptr){
s = s->next;
}
p->next = s->next;
s->next = p;
}
void insertBack(lNode *p, char *data){
headInsert(p, data);
}
void insertPrior(lNode *p, char *data){//先在后面添加一个node,把p指向的那个node上的数据改成要添加的数据,再把p后面那个node的数据改成p的数据
lNode *s = (lNode *) malloc(sizeof(lNode));
s->data = p->data;
s->next = p->next;
p->next = s;
p->data = data;
}
void deleteNode(lNode *fp){
lNode *s = fp;
while (s->next != nullptr){
lNode *tmp = s;
s = s->next;
free(tmp);
}
}
标签:fp,char,lNode,void,c++,next,链表,基本操作,data 来源: https://blog.csdn.net/qq_32113889/article/details/121098963
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。