12 單鏈表的遍歷與優化

2021-10-22 14:27:03 字數 879 閱讀 9327

提供一組遍歷相關的函式,以線性的時間複雜度遍歷鍊錶

函式功能說明

move()

將游標定位到目標位置

next()

移動游標

current()

獲取游標所指向的資料元素

end()

游標是否到達尾部

bool

move

(int i,

int step =1)

;bool

end();

t current()

;bool

next()

;

int

move

(int i,

int step =1)

return ret;

}bool

end(

) t current()

else

}bool

next()

return

(i == m_step)

;}

int

main()

for(list.

move(0

);!list.

end(

);list.

next()

)return0;

}

輸出:4 3 2 1 0

優化封裝結點的申請和刪除操作

virtual node*

create()

virtual

void

destory

(node* pn)

十 單鏈表的遍歷與優化

遍歷單鏈表中的每個一資料元素 linklistlist for int i 0 i 5 i o n 這裡的遍歷方法效率很低 for int i 0 i list.length i o n 2 遍歷鍊錶的時間複雜度不是線性的,插入元素是線性,遍歷就不是了。不能以線性的時間複雜度完成單鏈表的遍歷 設計思...

12 單鏈表排序

思路1 將鍊錶中的資料存入陣列中,使用陣列進行排序,排好後再存入鍊錶中。當然這並不是這題所要考察的。但是在實際應用中卻相當有價值。因為鍊錶中的排序演算法都比較慢,進行轉存再排序也是一種很好的方法。思路2 排序演算法有 1,插入排序 簡單插入排序,希爾排序 2,交換排序 氣泡排序,快速排序 3,選擇排...

單鏈表的建立,遍歷

結構體和主函式 include using namespace std typedef struct node node,list 定義乙個結構體 儲存鍊錶 intmain return0 單鏈表的建立 尾插法 void creatlist list l,int n 尾插法建立單鏈表 單鏈表的遍歷 ...