問題 如何實現乙個高效的單向鍊錶逆序輸出?

2021-09-28 17:41:26 字數 1193 閱讀 3847

// 直接遞迴實現核心**片段

public void reverse(head)

// 下一層需要做的事兒

reverse(head.next);

// 本層需要做的事兒

print(head);

}

// 採用棧進行儲存實現核心**片段

public void reverse(head)

// 將所有元素出棧

while(!stack.isempty)

}

class solution

listnodecurrentnode = head;

stack> stack = new stack<>();

while (currentnode != null)

head = stack.pop();

currentnode = head;

while (!stack.isempty())

}}class listnode

listnodenext;

}

// 直接遍歷實現核心**

public void reverse(head)

// 每次從前往後進行掃瞄輸出

for(int i = count; i > 0; i--)

print(cur)

}}

// 翻轉鍊錶實現核心**

public void reverse(head)

// 輸出

while(pre != null)

}

typedef struct node

}node;

void reverse(node* head)

node* pleft = null;

node* pcurrent = head;

node* pright = head->next;

while(pright)

while(pcurrent != null)

}

// 頭插法新建空鍊錶實現核心**

public void reverse(head)

}

記錄乙個單向鍊錶的實現

功能模組 資料鏈表 實現功能 1 單向資料鏈表,遍歷,查詢等都只是支援 從前往後 節點結構體 value是節點值,占用4個位元組,用處 1 當節點只需要存放乙個32位以下資料的時候,就可以使用value,data就可以不需要重新申請記憶體了 2 記憶體分配的最小單元是16個位元組,用來佔位到16個位...

乙個簡單的 單向鍊錶

unitunit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls type tform1 class tform button1 tbutton but...

乙個簡單的單向鍊錶 C

singlylinkedlist.h include include class node 構造方法,方便快速建立結點 node int data,node next class list 返回鍊錶長度 list 建構函式 list const list temp 拷貝建構函式 list 析構函式 ...