免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
双向链表的C实现struct Node void* pUserData;struct Node* pNext;struct Node* pPrev; _Node;struct TABLE struct Node* pHead;struct Node* pTail; _TABLE;struct POSITION struct TABLE* pTable; struct Node* pNode; _POSITION;struct TABLE* CreateTable(void);void FreeTable(struct TABLE*);void AddTail(struct TABLE*,void* pUserData);void InsertAt(struct POSITION*,void*);void RemoveAt(struct POSITION*);void* GetAt(struct POSITION*);void* GetNext(struct POSITION*);void* GetPrev(struct POSITION*);struct POSITION GetHeadPosition(struct TABLE*);struct POSITION GetTailPosition(struct TABLE*);struct POSITION GetPosition(struct TABLE*,unsigned int);int GetCount(struct TABLE*);struct TABLE* CreateTable()struct TABLE* pTable = (struct TABLE*)malloc(sizeof(_TABLE);if(pTable = NULL)return NULL;pTable- pHead = NULL;pTable- pTail = NULL;return pTable;void FreeTable(struct TABLE* pTable)struct Node* pNode;while(pTable- pHead)pNode = pTable- pHead;pTable- pHead = pTable- pHead- pNext;free(pNode);free(pTable);void AddTail(struct TABLE* pTable,void* pUserData)struct Node* pNode;pNode = (struct Node*)malloc(sizeof(_Node);if(pNode = NULL)return;pNode- pUserData = pUserData;pNode- pNext = NULL;if(pTable- pHead=NULL & pTable- pTail=NULL)pNode- pPrev = NULL;pTable- pHead = pNode;elsepNode- pPrev = pTable- pTail;pTable- pTail- pNext = pNode;pTable- pTail = pNode;void RemoveAt(struct POSITION* pos)if(pos- pNode = NULL)errcode|=1 pTable- pHead = NULL & pos- pTable- pTail = NULL)return;if(pos- pNode = pos- pTable- pHead)if(pos- pNode = pos- pTable- pTail)pos- pTable- pHead = NULL;pos- pTable- pTail = NULL;elsepos- pTable- pHead = pos- pNode- pNext;pos- pTable- pHead- pPrev = NULL;elseif(pos- pNode = pos- pTable- pTail)pos- pTable- pTail = pos- pNode- pPrev;pos- pTable- pTail- pNext = NULL;elsepos- pNode- pPrev- pNext = pos- pNode- pNext;pos- pNode- pNext- pPrev = pos- pNode- pPrev;free(pos- pNode);void InsertAt(struct POSITION* pos,void* pUserData)struct Node* pNode;if(pos- pNode = NULL)return;pNode = (struct Node*)malloc(sizeof(_Node);if(pNode = NULL)return;pNode- pUserData = pUserData;if(pos- pNode = pos- pTable- pHead)pNode- pPrev = NULL;pNode- pNext = pos- pTable- pHead;pos- pTable- pHead- pPrev = pNode;pos- pTable- pHead = pNode;elsepos- pNode- pPrev- pNext = pNode;pNode- pPrev = pos- pNode- pPrev;pNode- pNext = pos- pNode;pos- pNode- pPrev = pNode;void* GetAt(struct POSITION* pos)if(pos- pNode = NULL)return NULL;return pos- pNode- pUserData;void* GetNext(struct POSITION* pos)struct Node* pNode;if(pos- pNode = NULL) return NULL;pNode = pos- pNode;pos- pNode = pos- pNode- pNext;return pNode- pUserData;void* GetPrev(struct POSITION* pos)struct Node* pNode;if(pos- pNode = NULL) return NULL;pNode = pos- pNode;pos- pNode = pos- pNode- pPrev;return pNode- pUserData;struct POSITION GetHeadPosition(struct TABLE* pTable)struct POSITION pos;pos.pTable = pTable;pos.pNode = pTable- pHead;return pos;struct POSITION GetTailPosition(struct TABLE* pTable)struct POSITION pos;pos.pTable = pTable;pos.pNode = pTable- pTail;return pos;struct POSITION GetPosition(struct TABLE* pTable,unsigned int index)struct POSITION pos;pos.pTable = pTable;pos.pNode = pTable- pHead;while(index-)if(pos.pNode = NULL)break;pos.pNode = p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校企合作协议范本与操作流程
- 2026年智能制造生产线方案
- 2026年研发成本精细化管控降本增效项目分析方案
- 聚焦2026年绿色消费趋势的零售业务转型方案
- 敏捷开发模式促进2026年软件开发周期缩短项目分析方案
- 2026年智慧医疗远程诊疗服务方案
- 基于人工智能2026年医疗行业应用方案
- 2026年能源消耗优化分析方案
- 医疗影像大数据深度学习诊断方案
- 2026年物流行业智能分拣方案
- 圣罗兰网络营销案例分析
- 演示文稿双馈电机控制
- YS/T 488-2005异丁基钠(钾)黄药
- GB/T 15789-1995土工布透水性测定方法
- 内分泌危象之垂体危象优秀课件
- 管道风险评估单
- 工序工作面移交台账(完成)
- (完整word版)高考英语作文练习纸(标准答题卡)
- 机电安装竣工全部表格
- 金属着色技术PPT
- 单位用餐券模板(可编辑修改)
评论
0/150
提交评论