资源预览内容
第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
亲,该文档总共3页全部预览完了,如果喜欢就下载吧!
资源描述
文档供参考,可复制、编制,期待您的好评与关注! #define OK 1#define TRUE 1#define ERROR 0#define FALSE 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;/函数返回值定义typedef struct LNode int elem;struct LNode *next;LNode, *LinkList;/结点的结构体定义#include stdio.h#include stdlib.hint i,e,counter = 0;/常用的两个变量定义,i为数据位置,e为数据,counter为计数器void main()/子函数定义Status InitList_L(LinkList &L);Status InitElem_L(LinkList &L);Status ListInsert_L(LinkList &L, int i, int e);Status ListDelete_L(LinkList &L, int i, int &e);Status PrintList_L(LinkList L);/开始初始化并运行/初始化数据并打印LinkList L;InitList_L(L);InitElem_L(L);PrintList_L(L);/插入数据并打印printf(请输入要插入的位置和数据:);scanf(%d%d,&i,&e);ListInsert_L(L,i,e);PrintList_L(L);/删除数据,返回删除数据,并打印printf(请输入删除的位置:);scanf(%d,&i);ListDelete_L(L,i,e);printf(删除的数据是%d./n,e);PrintList_L(L);/子函数Status InitList_L(LinkList &L)L = (LinkList) malloc (sizeof(LNode);L-next = NULL;return OK;/InitList_L Status InitElem_L(LinkList &L) printf(请输入要创建元素的个数:);int n,m;scanf(%d,&n);LinkList p;printf(请输入随机数种子:);scanf(%d,&m);srand(m);while(counter!=n) if(counter=0) L-next = (LinkList) malloc (sizeof(LNode); p = L-next; p-elem = rand()%100+1; counter+;else p-next = (LinkList) malloc (sizeof(LNode);p = p-next;p-elem = rand()%100+1;counter+;p-next= NULL;return OK;Status ListInsert_L(LinkList &L, int i, int e) LinkList p = L;int j = 0;while(p&jnext; j+; /寻找第i-1个结点if(!p | ji-1) return ERROR;/i小于1或者大于表长加1LinkList s = (LinkList) malloc (sizeof(sizeof(LNode);s-elem = e;s-next = p-next;p-next = s;return OK;Status ListDelete_L(LinkList &L, int i, int &e) LinkList p,q;p = L;int j = 0;while(p-next&jnext;j+;if(!p-next | ji-1) return ERROR;q = p-next;p-next = q-next;e = q-elem;free(q);return OK;Status PrintList_L(LinkList L) LinkList p;p = L-next;counter = 0;while(p) if(counter%4=0) printf(n);counter+;printf(第%3d个:%4d ,counter,p-elem);p = p-next;printf(n);return OK; /
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号