这里是已经写好的一部分代码,必须在这个基础上补充完整,
代码在大小写上可能有点小错误
//定义结点类型//
typedef struct Node
{
ElemType data; //单链表中的数据域 //
struct Node *next; //单链表的指针域 //
}LinkList;
LinkList*H,*P;
//单链表的建立,尾插法建立单链表//
LinkList *CreateLinkList()
{
char ch; int x;
LinkList *head;
LinkList *r,*p;
head=(LinkList*)malloc(sizeof(LinkList));
head->next=NULL;
r=head;
ch=getchar();
while(ch!='*')
{
scanf("%d",&x);
p=(LinkList *)malloc(sizeof(LinkList));
p->data=x;p->next=NULL;
r->next=p;
r=r->next;
ch=getchar();
}
return head;
}
//求链表长度//
int LengthLinkList(L)
LinkList*L;
(LinkList*P=L;
int j=0;
While(P->next!=NULL)
{P=P->next;j++;}
return j;
)
//在单链表查找第i个元素并返回其位置,无第i个元素返回null//
LinkList*GetLinkList(L,i)
LinkList*L;
int i;
{LinkList*P;int j=0;
P=L;
While((j<i)&&(P->next!=NULL))
{P=P->next;j++;}
if(j==1)
return P;
else
return NULL;
}
//单链表的插入,在链表的第i个位置插入x的元素//
LinkList *InsertLinkList(L,x,i);
LinkList *L;
ElemType x; int i;
{
LinkList *P,*S;
P=getLinkList (L,i-1);
if (p==NULL)
Printf("第i-1个元素不存在,参数i有错\n");
else
{S=(LinkList *)malloc(sizeof(LinkList));
S->data=x;
S->next=P->next;
P->next=S;
}
}
//单链表的删除,在链表中删除值为x的元素//
LinkList *DeletLinkList(&L,i)
LinkList *L;int i;
{
LinkList *P,*S;
P=getLinkList (L,i-1);
if (P==NULL)
Printf("第i-1个元素不存在,参数i有错\n");
else
{S=P->next;
P->next=S->next;
free (S);
}
}
可以不要改动上面的代码,然后补充上主函数和头文件吗
追答头文件和类型定义有这三行就可以了:
#include
#include
typedef int ElemType;
主函数要看你具体的逻辑来编写,我不清楚你要做什么,所以只写了几行简单的测试代码,示意一下用法。
不改动上面的代码么,恕我才疏学浅,我还真不知道像
LinkList *InsertLinkList(L,x,i);
LinkList *L;
ElemType x; int i;
这们的函数定义是不是符合语法规则,如果确有这样的语法,那么这几个函数可以不改。
【数据结构】C\/C++ 单链表的 创建、初始化、增、删、改、查、遍历等基 ...
C\/C++单链表的基本操作包括创建、初始化、增删改查和遍历等。首先,定义链表结构,包括数据域和指向下一个节点的指针。头插法建立链表函数Creat_LinkList()的工作流程是:动态分配链表节点,输入用户数据,通过循环将节点依次插入到链表头部,直到用户输入0为止。尾插法的创建函数Creat_LinkList_R()则是...
...实现单链表的建立、插入、删除、输出等基本操作?
typedef int Elemtype;typedef int status;define OVERFLOW -2 define OK 1 define ERROR -1 include "stdio.h"include "stdlib.h"typedef struct LNode { Elemtype data;struct LNode *next;}*linklist;\/\/构造链表 void Create_Linklist(linklist &L){ linklist p;p=(linklist)malloc(sizeo...
实现单链表的建立、清空、插入、删除查找、修改等运算。用数据结构...
struct LNode *next;}LNode,*Llist;\/\/方法声明 LNode *creat_head();\/\/创建一个空表 void creat_list(LNode *,int);\/\/创建一个长度为n的线性链表 void insert_list(LNode *,int,int );\/\/插入一个元素 int delete_list(LNode *,int);\/\/删除一个元素 \/\/创建一个空链表 LNode *crea...
C语言实现单链表的建立、输入、插入、删除、查找元素并返回位置_百度知 ...
\/ 时间:2010年8月28日17:19:49 功能:C语言实现单链表的建立、输入、插入、删除、查找元素并返回位置 \/ include"stdio.h"include"stdlib.h"include"malloc.h"\/*假设输入的数据为3个--我比较好操作-_-*\/ define size 3 typedef struct List { int num;int shuju;struct List *next;}list;\/...
...法建立带头结点的单链表,实现单链表上的插入,删除计数,查找,修改,输...
\/* 初始条件:顺序线性表L已存在。操作结果:将L重置为空表 *\/ Status ClearList(LinkList *L){ LinkList p,q;p=(*L)->next; \/* p指向第一个结点 *\/ while(p) \/* 没到表尾 *\/ { q=p->next;free(p);p=q;} (*L)->next=NULL; \/* 头结点指针域为空 *\/ return...
1、编程实现单链表的建立、插入、删除和查找算法,语言采用C或JAVA等...
void hhead_creat()\/*用头插法建立带头结点的单链表*\/ {int x;linklist *p;head=(struct node*)malloc(LEN);head->data=-999;head->next=NULL;printf("\\n\\n\\t\\t请随机输入一组正整数以0作为结束符:\\n\\n\\t\\t");scanf("%d",&x);while(x!=0){ p=(struct node*)malloc(LEN);p...
用C语言编写链式存储结构下实现线性表的创建,插入,删除,按值查找
j++;} return p;} \/*单链表的按值查找*\/ LinkList LocalElem(LinkList la,int e){ LNode* p=la->next;while(p!=NULL && p->data!=e)p=p->next;return p;} \/*单链表插入操作*\/ bool InsertList(LinkList la,int i,int e){ \/\/在la链表中的i位置插入数值e int j=1;...
...单链表的初始化 插入 销毁 元素的取出 删除 操作 求详细C源代码 谢 ...
\/\/单链表测长 void length(Node *head){ Node *p = head->pstnext;int j=0;while(NULL != p){ p = p->pstnext;j++;} printf("%d\\r\\n", j);} \/\/链表按值查找 void research_Date(Node *head, int date){ Node *p;int n=1;p = head->pstnext;while(NULL != p && date...
链表中的怎么使用指针进行链表的建立、插入、删除等处理操作
删除操作需要查找是否存在要删除的数据,存在则删除,不存在不采取动作 函数原型:void DeleteNode ( Node<DataType> *head, DataType data );我们设置ptr作为遍历链表的游标,设置ptrNext指针作为ptr的下一个节点,将它里面的info与data对比;设置两个指针是为了方便我们删除节点。函数定义如下 { Node<...
C语言编程:26个英文字母建立单链表,可插入删除查找和求长度
PLNode CreateList()\/*创建单链表*\/ {PLNode P,head,q;int i;head=(PLNode)malloc(sizeof(LNode));p=head;p->next=NULL;for(i=0;i<26;i++){q=(PLNode)malloc(sizeof(LNode));q->character='a'+i;q->next=NULL;p->next=q;p=q;} return PLNode;} int Length(PLNode ...