国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

c++ 實現(xiàn)鏈表的創(chuàng)建,查詢,打印,刪除,插入

2019-11-06 08:01:41
字體:
供稿:網(wǎng)友
//程序很簡單,但是要捋順邏輯關(guān)系,留著備用#include#include"stdafx.h"using namespace std;struct node{int data;node* next;};node * created_head(node *head){node * temp;for (int i = 1; i < 10; i++){temp = new node;temp->data = i;temp->next = head->next;head->next = temp;}return head;}node * created_rear(node *head){node *p2;p2 = new node;p2 = head; //保持頭節(jié)點node * temp;for (int i = 1; i < 10; i++){temp = new node;//定義一個終端節(jié)點temp->data = i;//temp->next = p->next;p2->next = temp;temp->next = NULL;p2 = temp;}return head;}//打印鏈表void PRint_list(node *head){node *temp;temp = new node;temp = head;while (temp->next != NULL){temp = temp->next;cout << temp->data << "   ";}cout << endl;}//獲取鏈表長度int leng_list(node *head){node *temp;temp = new node;temp = head;int leng = 0;while (temp->next != NULL){temp = temp->next;leng++;}return leng;}//獲取鏈表第i個節(jié)點node * get_list(node * head, int i){node *temp;temp = new node;temp = head;bool state = false;int j = 1;while (temp->next != NULL){temp = temp->next;if (j == i){state =true;break;}j++;}if (state == true){cout << "索引成功" << endl;return temp;}else//兩種情況, 頭指針或者,超過了鏈表的最大區(qū)間{cout << "超出索引范圍,返回頭結(jié)點" << endl;return head;}}//在鏈表head中第i個位置后插入節(jié)點insertvoid insert_list(node *head, int i, node * insert){node *temp;temp = new node;int leng;leng = leng_list(head);if ((i > 0) && (i <= leng)){temp = get_list(head, i);insert->next = temp->next;temp->next = insert;}else{cout << "超出鏈表范圍無法插入" << endl;}}//刪除鏈表head第i個節(jié)點void delete_list(node *head, int i){node *temp;temp = new node;node *dele;dele = new node;int leng;leng = leng_list(head);if ((i > 0) && (i <= leng)){temp = get_list(head, i-1);dele = temp->next;temp->next = dele->next;delete dele;}else{cout << "超出鏈表范圍無法刪除" << endl;}}void main(){node *head1;node *head2;head1 = new node;head2 = new node;head1->next = NULL;head2->next = NULL;cout << "***************" << "頭插法新建鏈表head1" << "***************" << endl;created_head(head1);print_list(head1);cout << "***************" << "尾插法新建鏈表head2" << "***************" << endl;created_rear(head2);print_list(head2);cout << endl;cout << "***************" << "鏈表head1 長度" << "***************" << endl;cout << leng_list(head1) << endl;cout << "***************" << "鏈表head1 第五個節(jié)點" << "***************" << endl;cout << get_list(head1, 5)->data << endl;node * insert;insert = new node;insert->data = 21;cout << "***************" << "head1在第2節(jié)點后插入節(jié)點insert->data = 21" << "***************" << endl;insert_list(head1,2 , insert);print_list(head1);cout << "***************" << "當(dāng)前鏈表head1的長度" << "***************" << endl;cout << leng_list(head1) << endl;cout << "***************" << "刪除head1的第5個元素" << "***************" << endl;delete_list(head1, 5);print_list(head1);cout << "***************" << "刪除后head1的長度" << "***************" << endl;cout << leng_list(head1) << endl;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 德化县| 无为县| 建湖县| 沧州市| 万荣县| 丘北县| 绥阳县| 青神县| 凤庆县| 东安县| 醴陵市| 方城县| 宿迁市| 塔城市| 汉川市| 江阴市| 山阳县| 五常市| 纳雍县| 武威市| 图们市| 金昌市| 堆龙德庆县| 昌图县| 都江堰市| 博野县| 达拉特旗| 阳高县| 定兴县| 漾濞| 拉孜县| 广丰县| 东乌| 大新县| 凯里市| 运城市| 万安县| 陆川县| 仪陇县| 绵竹市| 田阳县|