c语言如何写插入类函数 c语言添加函数

C语言编写一个插入删除函数

一般呢,插入和删除函数是分开写的,还有分成两种存储结构,1.顺序表,2.链表,我给你一个我上数据结构时候写的链表的操作,里面全都有,如果不会用,追问我

创新互联从2013年成立,先为观山湖等服务建站,观山湖等地企业,进行企业商务咨询服务。为观山湖企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

#includestdio.h

#includemalloc.h

#includeWindows.h

#includeconio.h

#includestdlib.h

typedef struct

{

int data;

struct LNode *next;

}LNode;

LNode *Listinit(LNode *L)//初始化链表返还头指针

{

L = (LNode *)malloc(sizeof(LNode));

if (!L)return 0;

L-next = NULL;

return L;

}

int GetElem_L(LNode *L, int i, int *e)//取第i个元素

{

int j;

LNode *p;

p=L-next;j=1;

while(pji)

{

p=p-next;++j;

}

if(!p||ji) return 0;//i超过表长

*e=p-data;

return 1;

}

int ListInsert_L(LNode *L, int i, int e)//插入数据元素

{

LNode *p1 = L,*p2=L;

int j = 0;

if (i-1 LinkLength(L))

return 2;

while(p1!=NULL ji-1)

{

p1 = p1-next;

j++;

}

p2 = (LNode *)malloc(sizeof(LNode));

if (!p2)

return 0;

p2-data = e;

p2-next = p1-next;

p1-next = p2;

return 1;

}

void ClearList(LNode *L)//重置为空表

{

LNode *p;

while(L-next)

{

p=L-next;

L-next=p-next;

free(p);

}

}

void print_link(LNode *L)//输出函数

{

LNode *p = L;

p = p-next;

while (p != NULL)

{

printf("%5d", p-data);

p = p-next;

}

}

int ListDlete_L(LNode *L, int i, int *e)//删除L中I,并用e返回

{

int j = 0;

LNode *p1 = NULL, *p2 = NULL;

p1 = L;

while (p1-next != NULL j i - 1)

{

p1 = p1-next;

j++;

}

if (p1-next == NULL || j i - 1)

return 0;

p2 = p1-next;

p1-next = p2-next;

free(p2);

return 1;

}

int LinkLength(LNode *L)//链表的长度

{

int i = 0;

LNode *p = L-next;

while (p != NULL)

{

i++;

p = p-next;

}

return i;

}

C语言函数实现插入

这个很简单啊。基本的思路就是先查找到插入或者删除的数字所在数组的位置,如果是插入,就把之后的依次想后挪动一个,然后插入;如果是删除,把之后的依次想前移动一个就行了,不过别忘了处理最后一个数字就行了。要是还有问题,我帮你写个算了。

c语言 编写数组的插入函数

你只需要建立一个数组,将数组建立的大一点,然后分两次输入数,构建一个数组,在整体排序输出就行了


分享文章:c语言如何写插入类函数 c语言添加函数
标题网址:http://pwwzsj.com/article/ddispjj.html