77范文网 - 专业文章范例文档资料分享平台

数据结构实验指导书——线性表的操作(2)

来源:网络收集 时间:2019-04-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

/*单链表的初始化*/

LinkedList LinkedListInit() {

Node *L;

L = (Node *)malloc(sizeof(Node)); /*申请结点空间*/

if(L == NULL) /*判断是否有足够的内存空间*/ printf(\申请内存空间失败\\n\

L->next = NULL; /*将next设置为NULL,初始长度为0的单链表*/ return L; }

/*单链表的建立2,尾插法建立单链表*/

LinkedList LinkedListCreatT() {

Node *L,*r;

int x;

L = (Node *)malloc(sizeof(Node)); /*申请头结点空间 */ L->next = NULL; /*初始化一个空链表 */

r = L; /*r始终指向终端结点,开始时指向头结点*/

while(scanf(\ {

Node *p;

p = (Node *)malloc(sizeof(Node)); /*申请新的结点 */ p->data = x; /*结点数据域赋值 */

r->next = p; /*将结点插入到表头L-->|1|-->|2|-->NULL */ r = p; }

r->next = NULL;

return L; }

/*单链表的插入,在链表的第i个位置插入x的元素*/

LinkedList LinkedListInsert(LinkedList L,int i,ElemType x) {

Node *pre;

int tempi; /*pre为前驱结点*/ Node *p; pre = L;

for (tempi = 1; tempi < i; tempi++)

pre = pre->next; /*查找第i个位置的前驱结点*/ /*插入的结点为p*/ p = (Node *)malloc(sizeof(Node)); p->data = x;

p->next = pre->next; pre->next = p;

return L; }

/*单链表的删除,在链表中删除值为x的元素*/

LinkedList LinkedListDelete(LinkedList L,ElemType x) {

Node *p,*pre; /* pre为前驱结点,p为查找的结点*/ p = L->next;

while(p->data != x) /* 查找值为x的元素 */ {

pre = p; p = p->next; }

pre->next = p->next; /* 删除操作,将其前驱next指向其后继。*/ free(p); return L; }

int GetElem_L(LinkedList L, int i, ElemType e) {

/*L是带头结点的链表的头指针,以 e 返回第 i 个元素 */

Node *p; int j;

p = L->next; j = 1; /* p指向第一个结点,j为计数器 */

while (p && jnext; ++j; }

/* 顺指针向后查找,直到 p 指向第 i 个元素 */ /* 或 p 为空(P=最后一个元素内的指针域值)*/

if ( !p || j>i )

return 0; /* 第 i 个元素不存在 */

e = p->data; /* 取得第 i 个元素 return e; }

int main() { int i,e1;

ElemType x,e;

LinkedList list,start;

printf(\ list = LinkedListCreatT();

for(start = list->next; start != NULL; start = start->next) printf(\ printf(\

printf(\ scanf(\

printf(\ scanf(\

LinkedListInsert(list,i,x);

for(start = list->next; start != NULL; start = start->next) printf(\ printf(\

printf(\ scanf(\

LinkedListDelete(list,x);

for(start = list->next; start != NULL; start = start->next) */

printf(\ printf(\

e1=GetElem_L(list, 5, e) ;

printf(\ getch(); return 0; }

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据结构实验指导书——线性表的操作(2)在线全文阅读。

数据结构实验指导书——线性表的操作(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/584174.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: