链表LinkList.c实现
来源:互联网 发布:淘宝睡衣买家秀 编辑:程序博客网 时间:2024/06/05 11:46
#include "LinkList.h"#include <malloc.h>#include <stdio.h>typedef struct _tag_LinkList{ LinkListNode header; int length;}TLinkList;LinkList* LinkList_Create(){ TLinkList *sList = (TLinkList*)malloc(sizeof(TLinkList)); if(sList != NULL) { sList->header.next = NULL; sList->length = 0; } return sList;}void LinkList_Destroy(LinkList* list){ free(list);}void LinkList_Clear(LinkList* list){ TLinkList* sList = (TLinkList*)list; if(sList != NULL) { sList->header.next = NULL; sList->length = 0; }}int LinkList_Length(LinkList* list){ int ret = -1; TLinkList* sList = (TLinkList*)list; if(sList != NULL) { ret = sList->length; } return ret;}int LinkList_Insert(LinkList* list,LinkListNode* node,int pos){ TLinkList* sList = (TLinkList*)list; int ret = (sList != NULL); int i = 0; ret = ret && (pos>=0) && (node != NULL); if(ret) { LinkListNode* current = (LinkListNode*)sList; for(i=0;(i<pos)&&(current->next != NULL);i++) { current = current->next; } node->next = current->next; current->next = node; sList->length++; } return ret;}LinkListNode* LinkList_Get(LinkList* list, int pos){ TLinkList* sList = (TLinkList*)list; LinkListNode* ret = NULL; int i =0; if((sList != NULL) && (pos >= 0) && (pos<sList->length)) { LinkListNode* current = (LinkListNode*)sList; for(i=0;i<pos;i++) { current = current->next; } ret = current->next; } return ret;}LinkListNode* LinkList_Delete(LinkList* list,int pos){ TLinkList* sList = (TLinkList*)list; LinkListNode* ret = NULL int i =0; if((sList != NULL) && (pos>=0) &&(pos < sList->length)) { for(i=0;i<pos;i++) { current = current->next; } ret = current->next; current->next = ret->next; sList->length--; } return ret; }
0 0
- 链表LinkList.c实现
- DataStructure---LinkList 链表C语言实现代码
- 链表的链性表的c语言实现方式 linklist.h 和 linklist.c
- 线性表之<链表linklist>的储存及插入、删除-C代码实现
- 链表linklist
- LinkList链表
- C 类LinkList实现线性链表的一般操作
- C++_Seqlist/Linklist
- LinkList模板的实现
- LinkList 单链表的实现
- LinkList
- LinkList
- LinkList
- linklist
- Linklist
- LinkList
- linklist 链表的实现
- 用linkList实现LRU算法
- Spark大规模机器学习的性能瓶颈和解决方案
- Socket分包处理的解决方案
- 通过JavaScript实现漂浮
- iOS开发路线概述
- jquery validate.js表单验证(带验证码)
- 链表LinkList.c实现
- Harris交点检测算法原理及实现
- android 创建xml
- 拦截器和过滤器的区别
- XMPP协议简单介绍
- 如何做好项目需求获取与分析(转载)
- Palindrome Partitioning 分割成回文子字符串
- nslookup命令
- 百度开放云物接入IoT--Java客户端