- 1、本文档共91页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. realloc失败的时候,返回NULL 2. realloc失败的时候,原来的内存不改变,不会释放也不会移动 3. 假如原来的内存后面还有足够多剩余内存的话,realloc的内存=原来的内存+剩余内存,realloc还是返回原来内存的地址; 假如原来的内存后面没有足够多剩余内存的话,realloc将申请新的内存,然后把原来的内存数据拷贝到新内存里,原来的内存将被free掉,realloc返回新内存的地址 4. 如果size为0,效果等同于free()。这里需要注意的是只对指针本身进行释放,例如对二维指针**a,对a调用realloc时只会释放一维,使用时谨防内存泄露。 5. 传递给realloc的指针必须是先前通过malloc(), calloc(), 或realloc()分配的 6.传递给realloc的指针可以为空,等同于malloc。 7.程序结束后,现在操作系统会自动回收malloc申请的内存,但如果程序长时间运行,如果不进行正常的free,则会有内存泄露情况。建议都自行free。 栈满还存为上溢,栈空再取即下溢。 其好处有:(1) 对带头结点的链表,在表的任何结点之前插入结点或删除表中任何结点,所要做的都是修改前一结点的指针域,因为任何元素结点都有前驱结点。若链表没有头结点,则首元素结点没有前驱结点,在其前插入结点或删除该结点时操作会复杂些。 (2) 对带头结点的链表,表头指针是指向头结点的非空指针,因此空表与非空表的处理是一样的。 LNode *create_list(int n){ LNode *head,*p,*q; int i; p=(LNode*)malloc(sizeof(LNode));head=p; for(i=1;i=n,i++){ q=(LNode*)malloc(sizeof(LNode)); scanf(q-data);q-next=NULL; p-next=q;p=q; } return(head); } 建立结点的算法 2.建立有n个结点的单链表 单链表操作的实现 链表是一个动态的结构,它不需要予分配空间,因此生成链表的过程是一个结点“逐个插入” 的过程。 void ClearList(L) { while (L-next) { p=L-next; L-next=p-next; } } // ClearList free(p); 单链表操作的实现 3.重新置单链表为一个空表 从线性链表的第一个结点开始,依次查找是否存在与给定值相同的元素,若存在,返回OK,否则返回ERROR。 int Search_list(LinkList H, int e) { LinkList p; p=H-next; while(p) if(p-data==e) return OK; else p=p-next; return ERROR; } 单链表操作的实现 4. 线性链表的查找 5.单链表的插入 在链表中插入一个元素的示意图如下: x s b a p a b p 插入步骤(即核心语句): Step 1:s-next=p-next; Step 2:p-next=s ; p-next s-next 元素x结点应预先生成: S=(LinkList)malloc(m); S-data=x; 单链表操作的实现 Status ListInsert(LinkList L, int i, ElemType e) /* 在单链表L的第i个位置上插入值为e的元素 */ { p=L; j=0; while(pji-1){p=p-next; ++j;} if(!p||ji-1)return ERROR; s=(LinkList)malloc(sizeof(Lnode)); s-data=e; s-next=p-next; p-next=s; return OK; } 单链表结点插入的演示 单链表操作的实现 5. 单链表的删除 在链表中删除某元素的示意图如下: c a b p 删除步骤(即核心语句): q = p-next; //保存b的指针,靠它才能指向c p-next=q-next; //a、c两结点相连 free(q) ; //删除b结点,彻底释放 p-next 思考: 省略free(q)语句行不行? (p-next) - next × × 单链表操作的实现 Status ListDelete(LinkList L, int i, ElemType e) { p=L; j=0; while(
您可能关注的文档
- 教科版小学科学六年级下册期末试卷(附答案).doc
- 教科版五年级级科学下册《人类认识地球及运动的历史》-课件.ppt
- 教育幼儿园体格锻炼制度.doc
- 数字FIR滤波器.ppt
- 敬孝心讲孝道演讲稿.docx
- 数学二年级下册含有小括号的混合运算.ppt
- 数学人教版七年级下册9.1.2不等式的性质.doc
- 数学三年级下册《口算乘法》课件-2.ppt
- 数学人教版七年级下册平行线的性质.docx
- 数学四年级下册认识方程练习题.doc
- 2024年度党员干部民主生活会班子对照检查材料.docx
- 公司党委领导班子2024年度民主生活会对照检查材料4个带头方面.docx
- 市府办(政府办)领导班子2024年民主生活会会后综合情况报告.docx
- 在2025年市司法局信息宣传工作推进会上的讲话.docx
- 在2025年全省文化旅游高质量发展推进会上的讲话.docx
- 在2025年全区工业、住建大规模设备更新推进会上的讲话.docx
- 党支部2024年组织生活会民主评议党员情况总结报告_1.docx
- 2024年度组织生活会个人对照检查剖析材料.docx
- 镇党委书记2024年度民主生活会对照检查材料1.docx
- 党支部2024年组织生活会民主评议党员情况总结报告.docx
最近下载
- 新能源车与传统燃油车PK.pptx
- 电桩车位出租合同6篇.docx
- 成人肥胖食养指南(2024年版).pdf
- 机械制图习题集第4版张绍群习题答案.pdf
- 2025届广东省深圳高级中学高中园高三下学期第一次模拟考试政治试题(原卷版+解析版).docx VIP
- 新教科版(2024)小学一年级科学下册第一单元第4课《4.认识物体的形状》精品课件.pptx VIP
- 基于EPC模式的项目管理项目协调管理80课件讲解.pptx
- 东菱EPS-BS驱动器技术手册V1.5.pdf
- 老年心房颤动诊治中国专家共识2024版.pptx VIP
- 新时代思想学生读本(高中)5.5《促进人与自然和谐共生》课件.pptx VIP
文档评论(0)