计算机算法
理想二旬
这个作者很懒,什么都没留下…
展开
-
求单链表中倒数第k个结点
所实现链表为无头结点的单链表两种方法:public class LinkList { public Node head;//头结点 public Node current; /*1.遍历法:即先遍历链表求出链表的长度n,然后第二次遍历求出倒数第k个结点,该方法容易想到,但是效率太低,可以进行优化*/ public Node findLastNode(int index){原创 2017-02-06 10:20:41 · 536 阅读 · 0 评论 -
求链表最大值
求链表最大值int getMax(SLink *L){ if(L==NULL) return NULL;//如果链表为NULL 则返回 NULL else { SLink *p,*maxp; p = L->next; maxp=p;//maxp指向第一个节点 while(p!=NULL) {原创 2017-01-27 23:39:23 · 3428 阅读 · 1 评论 -
求链表最大节点的前驱结点
SLink* preMax(SLink *L){ if(L==NULL) return NULL;//如果链表为NULL,则返回NULL else if(L->next == NULL) return NULL;//如果链表只有一个头结点,则也返回NULL else { SLink *pre,*p,*maxp,*maxpre; pre原创 2017-01-30 09:56:16 · 1132 阅读 · 0 评论 -
链表逆置
链表逆置有以下几种方法1.就地逆置采用头插法SLink* reverse(SLink *L){ if(L==NULL) return NULL;//如果链表为NULL,则返回NULL else if(L->next ==NULL||L->next->next == NULL) return L;//如果只存在一个头结点或者只存在一个结点,则直接返回L else {原创 2017-01-30 10:43:55 · 347 阅读 · 0 评论