鍊錶的初始化以及查詢鍊錶中倒數第k個節點的值

2021-08-27 16:18:44 字數 1050 閱讀 4036

package com.xhy.stackandqueue;

public

class

linkedlist

}public node head;

public node current;

public

void

add(int data) else

}//初始化鍊錶,並且返回表頭

public node init()

return head;

}/**

* 輸入乙個鍵表,輸出該鍊錶中倒數第k 個結點.為了符合大多數人的習慣,

* 本題從1開始計數,即鍊錶的尾結點是倒數第1個結點.例如乙個鍊錶有6個結點,

* 從頭結點開始它們的值依次是1、2、3、4、5 6。這個鍊錶的倒數第3個結點是值為4的結點.

**@param head 鍊錶的頭結點

*@param k 倒數第k個結點

*@return 倒數第k個結點

*/public

static node findkthtotail(node head, int k)

// 指向頭結點

node pointer = head;

// 倒數第k個結點與倒數第乙個結點相隔k-1個位置

// pointer先走k-1個位置

for (int i = 1; i < k; i++)

// 已經沒有節點了,但是i還沒有到達k-1說明k太大,鍊錶中沒有那麼多的元素

else

}// pointer還沒有走到鍊錶的末尾,那麼pointer和head一起走,

// 當pointer走到最後乙個結點即,pointer.next=null時,head就是倒數第k個結點

while (pointer.next != null)

// 返回結果

return head;

}public

static

void

main(string args)

}

鍊錶初始化

include include include struct node void init node plink int create node plink int insert node plink int print node plink int main void init node plin...

鍊錶初始化總結

順序表 宣告 struct seqlist int last int data 12 seq,seqlist 初始化seqlist init seqlist seqlist sl malloc sizeof seq sl last 1 標記位,用於判斷是表頭還是表尾 return sl 插入操作 判...

c語言鍊錶初始化

include include include typedef struct node node,pnode pnode init list else if len 0 對長度為負數的處理 pnode ptail phead ptail指向的是尾節點 ptail pnext null for i 0...