資料結構 單鏈表建立(頭插尾插)遍歷 C版

2021-09-13 01:26:56 字數 1300 閱讀 5617

/*

在乙個遞增有序的單鏈表中

有數值相同的元素存在

目標:刪除數值相同的元素,使表中不再有重複的元素

*/#include#includetypedef struct _nodenode;

/*自動生成(1,2,3,4,5,6,7,8,9,10)鍊錶

*///尾插法:建立乙個遞增有序的單鏈表

node* last_create()

return head;

}//頭插法:建立乙個遞增有序的單鏈表

node* head_create()

else

} return head;}/*

按照輸入自定義生成鍊錶

*///頭插法:輸入-1時停止

node* head_create_diy()

else

length++;

}while(input!=-1);

head->data=length;

return head;

}//尾插法:輸入-1時停止

node* last_create_diy()

while(input!=-1);

head->data=length;

return head;

}//按順序列印整個鍊錶

bool printlist(node* list)

return true; }}

int main()

/*

實現:利用乙個node型別的指標,代表乙個鍊錶linklist,更易讀

linklist是乙個_node型別的指標型別(一種特殊型別的指標)

#include#includetypedef struct _nodenode,*linklist;//linklist是乙個_node型別的指標型別(一種特殊型別的指標)

/*自定義輸入節點資訊建立鍊錶

ps.帶頭結點

*///尾插法

linklist last_create()

while(input!=-1);

l->data = length;

return l;

}//頭插法

linklist head_create()

while(input!=-1);

l->data = length;

return l;

}//遍歷輸出

bool print(linklist l) }}

int main()

資料結構 單鏈表的頭插法 尾插法建立及遍歷

頭插法和尾插法的區別 頭插法生成的鍊錶是逆序的,尾插法生成的鍊錶是順序的。時間複雜度和空間複雜度均是o n 建立結點類 class listnode 頭插法 頭插法原理 定義乙個head頭結點,之後新增元素在頭節點和已有元素之間。public listnode createlisthead head...

資料結構 單鏈表的建立 尾插法 頭插法

單鏈表的建立 尾插法 頭插法 include includeusing namespace std struct lnodelnode,linklist lnode結點,linklist單鏈表 如果用後插法插入元素,時間複雜度為o n2 設定乙個表尾指標r,始終指向表尾 尾插法建立單鏈表,時間複雜度...

頭插法和尾插法建立 刪除 遍歷單鏈表

單鏈表的建立方式 頭插法和尾插法 宣告單鏈表的資料結構 head表示頭插法鍊錶的頭指標 linklisthead表示頭插法建立的鍊錶 tail表示尾插法鍊錶的頭指標 linklisttail表示尾插法建立的鍊錶 struct node head,tail,linklisthead,linklistt...