单链表字符串输入,还要实现增删改查!求解!该如何处理
单链表字符串输入,还要实现增删改查!急急急!求解!
怎样才能让单链表实现字符串输入,还要实现增删改查!急急急!求解!求源码
------解决方案--------------------
怎样才能让单链表实现字符串输入,还要实现增删改查!急急急!求解!求源码
------解决方案--------------------
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType;
////////////////////////////////////////////
//定义结点类型
typedef struct Node
{
ElemType data; //单链表中的数据域
struct Node *next; //单链表的指针域
}Node,*LinkedList;
////////////////////////////////////////////
//单链表的初始化
LinkedList LinkedListInit()
{
Node *L;
L = (Node *)malloc(sizeof(Node)); //申请结点空间
if(L == NULL) //判断是否有足够的内存空间
printf("申请内存空间失败\n");
L->next = NULL; //将next设置为NULL,初始长度为0的单链表
}
////////////////////////////////////////////
//单链表的建立1,头插法建立单链表
LinkedList LinkedListCreatH()
{
Node *L;
L = (Node *)malloc(sizeof(Node)); //申请头结点空间
L->next = NULL; //初始化一个空链表
ElemType x; //x为链表数据域中的数据
while(scanf("%d",&x) != EOF)
{
Node *p;
p = (Node *)malloc(sizeof(Node)); //申请新的结点
p->data = x; //结点数据域赋值
p->next = L->next; //将结点插入到表头L-->
------解决方案--------------------
2
------解决方案--------------------
-->
------解决方案--------------------
1
------解决方案--------------------
-->NULL
L->next = p;
}
return L;
}
////////////////////////////////////////////
//单链表的建立2,尾插法建立单链表
LinkedList LinkedListCreatT()
{
Node *L;
L = (Node *)malloc(sizeof(Node)); //申请头结点空间
L->next = NULL; //初始化一个空链表
Node *r;
r = L; //r始终指向终端结点,开始时指向头结点
ElemType x; //x为链表数据域中的数据
while(scanf("%d",&x) != EOF)
{
Node *p;
p = (Node *)malloc(sizeof(Node)); //申请新的结点
p->data = x; //结点数据域赋值
r->next = p; //将结点插入到表头L-->
------解决方案--------------------
1
------解决方案--------------------
-->
------解决方案--------------------
2
------解决方案--------------------
-->NULL
r = p;
}
r->next = NULL;