永发信息网

数据结构(C语言版)删除节点

答案:1  悬赏:20  手机版
解决时间 2021-08-18 13:10

以下是我们老师写的添加节点,需要再写个删除节点的。要直接加在这个程序中的。谢谢!!

#include <stdio.h>

#define LIST_INIT_SIZE 100
#define LIST_INCREMENT 10
typedef char ElemType;
typedef struct{
ElemType *elem;
int length;
int listsize ;
}SqList;

SqList * InitList()
{
SqList *l=NULL;

l->elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType));
if (!l->elem) {printf("malloc error!\n"); return NULL;}
l->length=0;
l->listsize=LIST_INIT_SIZE;
printf("ok!\n");
return l;
}

ListInsert_sq(SqList *l, int i, ElemType e)
{ ElemType *sq,*p,*q;
if ( i<1|| i> l->length+1) {printf("location overflow!\n"); return(0); }
if (l->length >= l->listsize)
{ sq = (ElemType *) realloc (l->elem, (l->listsize + LIST_INCREMENT)
* sizeof (ElemType));
if (!sq) {printf("malloc error!\n"); return 0;}
l->elem = sq;
l->listsize += LIST_INCREMENT;
}
p = & l->elem[l->length - 1];
q = & l->elem[i - 1];
for (p; p >= q; --p)
*(p+1) = *p;
*q = e;
l->length ++;
return 1;
}

ElemType GetElem(SqList *l,int i)
{
return l->elem[i-1];
}

int ListLength(SqList *l)
{ return l->length;
}

main()
{ int i,n;
SqList *l;
l=InitList();
ListInsert_sq(l,1,'C');
ListInsert_sq(l,2,'h');
ListInsert_sq(l,3,'i');
ListInsert_sq(l,4,'n');
ListInsert_sq(l,5,'a');
n=ListLength(l);

for(i=1;i<=n;i++)
printf("%c", GetElem(l,i));
printf("\n");
}

最佳答案
兄弟,您说是您老是写的是吧,我想给您说的是您老是写的InitList()这个函数都有错,里面的SqList *l=NULL;之后又在试用l->elem,这怎么讲?l是个空指针怎么能使用?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求MC喊个空间麦谢谢合作
MC喊麦需要什么设备饿哦
《在哪里 美》的 歌曲链接
为什么买来的一些cd,打开属性,可用空间都是
魔兽作图问题
怎样输入省略号
地下城满级魔神,没装备,值多少钱
郾城区漯河大学生擦鞋在哪里啊,我有事要去这
剑三霸刀怎么去洛阳,剑三 霸刀28级之后怎么去
求一部电影名称 应该是亚洲的 但不是中国的
我的内脏受损后恢复的几率有多大?
做B超算出的孕周准吗?
五险一金怎么领取,请问一下。。一金可以取出
深圳美容美发哪个培训机构比较好?学费比较便
上面7个三角形,下面8个圆,是什么成语?
推荐资讯
高二啦,还能把成绩提高吗?
这个配置值多少钱,做图没问题把?
谁知道达尔文的故事短一点的谢谢了
怎么样才能胖一点啊!?
23114为什么是“我爱你”的意思
描写雨天的古诗 紧急!
你最喜欢那个季节呢?
为什么我的游戏人生进去不了?一进去就出现下
各种的花语是什么意思,多肉植物所代表的花语
息县信阳中国移动(泺源通信)怎么去啊,谁知道
西安区牡丹江豪爵网吧(福兴小区西)地址在什么
跨栏时韧带扭伤怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?