Skip to content

ve3344/LinkListC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkListC

  • 这是一个可以储存任何类型的链表,使用c语言实现。
功能列表:
  • 创建1个链表

LinkList* createList();

  • 判断是否为空

int emptyList(LinkList* list);

  • 删除指定位置的1个元素

DATA_TYPE removeList(LinkList* list, int index);

  • 删除指定条件的元素

DATA_TYPE removeListIf(LinkList* list, int(*condition)(int, DATA_TYPE));

  • 在指定位置插入1个元素

void insertList(LinkList* list, int index, DATA_TYPE value);

  • 清空链表所有元素

void clearList(LinkList* list);

  • 在前面插入1个元素

void pushFront(LinkList* list, DATA_TYPE value);

  • 在后面插入1个元素

void pushBack(LinkList* list, DATA_TYPE value);

  • 在前面弹出1个元素

DATA_TYPE popFront(LinkList* list);

  • 在后面弹出1个元素

DATA_TYPE popBack(LinkList* list);

  • 链表按照指定规则排序(冒泡排序)

void sortList(LinkList* list, int(*comparetor)(DATA_TYPE, DATA_TYPE));

  • 获取指定位置的1个元素

DATA_TYPE getItem(LinkList* list, int pos);

  • 遍历链表的所有元素,相当于forEach

void seekList(LinkList* list, int(*action)(int, DATA_TYPE));

  • 用指定删除器清除元素。比如释放内存free。

void destroyList(LinkList* list, void(*onItemDelete)(int, DATA_TYPE));

  • 合并链表

LinkList* appendList(LinkList* list, LinkList* other);

  • 找出最大的元素

DATA_TYPE findMaxInList(LinkList* list, int(*comparetor)(DATA_TYPE, DATA_TYPE));

  • 获取链表长度

int lengthOfList(LinkList* list);

About

链表的C语言实现,使用了面向对象的思想

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages