SList.h
void PrintListFromTail2Head(PNode pHead);//从尾到头打印单链表 void EraseNotTailNode(PNode pos);//删除非尾结点 void InsertFront(PNode pos,DataType data);//无头单链表插入结点 void JosephCircle(PNode *ppHead,size_t M);//约瑟夫环 void ReverseList(PNode *ppHead);//链表逆置 PNode ReverseList_P(PNode pHead);//链表逆置(头插法) void BubbleSort(PNode pHead);//冒泡排序 PNode FindMidlleNode(PNode pHead);//查找单链表的中间结点,要求只能遍历一次 PNode FindLastKNode(PNode pHead, size_t K);// 查找单链表的倒数第K个结点 int DeleteLastKNode(PNode* ppHead,size_t K);//删除倒数第k个结点 PNode MergeLiist(PNode pHead1,PNode pHead2);//合并两个有序的单链表 PNode HasCircle(PNode pHead);//判断单链表是否带环 size_t GetCircleLen(PNode pHead);//求环的长度void PrintListFromTail2Head(PNode pHe