c语言函数单独运行吗 c语言函数单独运行吗
C语言实现数据结构的线性链表,插入和删除函数单独运行的时候都正确,为什么先插入后删除就运行不了?
//我只能说,代码逻辑混乱,特橘棚别是索引,怎么是从1开始的,与一般逻辑不符(从0开始)
我们提供的服务有:成都网站建设、成都做网站、微信公众号开发、网站优化、网站认证、镶黄ssl等。为近1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的镶黄网站制作公司
//按照你的意图修改如下,能正常运行了。
#includeiostream
#includestdlib.h
using namespace std;
#define null 0
typedef char ElemType;
typedef struct LNode
{
ElemType data;
struct LNode *next;
} LNode,*LinkList;
int ListLength(LinkList L) {
int n=0;
struct LNode*q=L;
if(L==NULL)
cout"链表为空"endl;
while(q!=NULL)
{
q=q-next;
n++;
}
return n;
}
ElemType GetElem(LinkList L,int i)
{
int j=1;
struct LNode*q=L;
while(jiq!=NULL)
{
q=q-next;
j++;
}
if(q!=NULL)
return (q-data);
else
cout"位置参数不正确"endl;
return 0;
}
void InsertList (LinkList L,ElemType x,int i)
{
int j=1;
struct LNode*q,*s;
s=new LNode;
s-data=x;
q=L;
if(i==1)
{
s-next=q;
L=s;
}
else
{
while(jiq-迅桐next!=NULL)
{
q=q-next;
j++;
}
if(j==i-1)
{
s-next=q-next;
q-next=s;
}
else
cout"位置参数不正确"endl;
}
}
int DeleteElem(LinkList L,int i)
{
int j=1;
struct LNode *q=L,*t;
if(i==1)
{
t=q;
L=q-next;
}
else
{
while(ji-1q-next!=NULL)
{
q=q-next;
j++;
}
if(q-next!=NULLj==i-1)
{
t-next=q-next;
q-next=t;
}
else
cout"位置参数不正圆昌则确"endl;
}
if(t)
delete t;
return 0;
}
void DisplayList(LinkList L)
{
struct LNode*q;
q=L;
cout"链表元素: ";
if(q==NULL)
cout"链表为空"endl;
else
{
while(q!=NULL)
{
coutq-data" ";
q=q-next;
}
}
coutendl;
}
void main()
{
LinkList LA = NULL;
ElemType cs;
int len=0;
InsertList(LA, 'a', 1);
InsertList(LA, 'B', 2);
InsertList(LA, 'C', 3);
cs=GetElem(LA, 3);
len=ListLength(LA);
DisplayList(LA);
}
网页名称:c语言函数单独运行吗 c语言函数单独运行吗
URL标题:http://myzitong.com/article/dsphccj.html