发布时间:2016-05-27 16:54:56
链表中最后一个结点的指针指向第一个结点。在这个链表中,若首指针为head,最后一个结点的判断条件为:p->next == head。 注意:单链表的最后一个元素的next为null 而循环链表的最后一个元素的next为第一个元素.........【阅读全文】
发布时间:2016-05-27 15:07:13
求表长操作就是计算单链表中数据结点(不含头结点)的个数,需要从第一个结点开始顺序依次访问表中的每一个结点,为此需要设置一个计数器变量,每访问一个结点,计数器加1,直到访问到空结点为止。算法的时间复杂度为O(n)。 .........【阅读全文】
发布时间:2016-05-27 14:53:34
要删除链表中第i个节点的基本算法如下:(1)定位第i-1个节点。指针q 指向第i-1个节点,指针p指向被删除的节点。(2)摘链。q->link = p->link。(3)释放p节点。free(p)。删除操作是将单链表的第i个结点删除。先检查删除位置的合法性,然后查找表中第i-1个结点,即被删结点的前驱结点,再将其删除 &nb.........【阅读全文】
发布时间:2016-05-27 14:06:52
在链表的第i个节点的后面插入一个新节点的基本算法如下:(1)定位第i个节点。让指针q指向第i个节点,指针p指向需要插入的节点。(2)链接后面指针。p-link = q->link。(3)链接前面指针。q->link=p。第一步:查找结点值(这里存在两种方法)1:按序号查找结点值在单链表中从第一个结点出发,顺指针next域逐.........【阅读全文】
发布时间:2016-05-27 10:43:24
/*单链表的初始化*/#include #include typedef int ElemType; //方便以后修改元素的类型//定义结点类型 typedef struct Node{ ElemType data; //单链表中的数据.........【阅读全文】