List *makeEmptyList(); // 创建空表 List *findKth(constint K, List *list); // 找到第K个元素 intfind(const ElementType ele, List *list); // 找到元素ele第一次出现的位置 List *insert(ElementType ele, constint position, List *list); // 把元素ele插入position位置的前面 List *delete(constint position, List *list); // 删除位置position处的元素 intlength(List *list);
创建空表
1 2 3 4 5
List *makeEmptyList() { List *list = (List *)malloc(sizeof(List)); returnlist; }
查找第K个元素
1 2 3 4 5 6 7 8 9 10 11
List *findKth(constint K, List *list) { List *listCopy = list; //make a copy int i = 0; while (listCopy && i < K) { i++; listCopy = listCopy->next; } return listCopy; }
按值查找
1 2 3 4 5 6 7 8 9
intfind(const ElementType ele, List *list) { List *listCopy = list; while (listCopy && listCopy->data != ele) { listCopy = listCopy->next; } return listCopy; }