先是**:
ac**:
shuanglist.cpp
#include"shuanglist.h"
#includeusing namespace std;
//void creat(dlinknode *head,int num)///這個是尾插法建立起來的雙鏈表
////}
void creat(dlinknode *head,int num)///這個是頭插法
}void display(dlinknode *p)///輸出
cout
//
// cout
}if(p==null)
return;
q=p->next;
r=(struct node *)malloc(sizeof(struct node));
r->data=t;
r->prior=p;
r->next=p->next;
q->prior=r;
p->next=r;
}void shanchu(dlinknode *p,int g)///刪除雙鏈表的第g個節點
if(p==null)
return;
r=p->next->next;
p->next=r;
r->prior=p;
}int shuangempty(dlinknode *p)///判斷是否為空
int chang(dlinknode *p)///求鍊錶的長
return length;
}int getelem(dlinknode *p,int g)///獲取鍊錶第g個節點的值
if(p==null)
return -1;
return p->data;
}int cha(dlinknode *p,int x)///查詢鍊錶中是否存在元素x
else
return 1;}}
shuanglist.h
#ifndef shuanglist_h_included
#define shuanglist_h_included
typedef struct node
dlinknode;
void creat(dlinknode *head,int num);
void display(dlinknode *p);
void charu(dlinknode *p,int k,int t);
void shanchu(dlinknode *p,int g);
int shuangempty(dlinknode *p);
int chang(dlinknode *p);
int getelem(dlinknode *p,int g);
int cha(dlinknode *p,int x);
#endif // shuanglist_h_included
main.cpp
#include#include"shuanglist.h"
using namespace std;
int main()
{ dlinknode *head;
head=(struct node *)malloc(sizeof(struct node));
head->prior=null;
int num,a,b,c,d;
cin>>num;
creat(head,num);
display(head);
a=chang(head);
b=shuangempty(head);
c=getelem(head,6);
d=cha(head,9);
cout<
截圖:
還是很有意思的呀!
知識點總結:
都是類似的,要能觸類旁通,舉一反三!
心得總結:
多練多寫不要懈怠,爭取在規定時間內完成任務!
第四周專案4 建立雙鏈表演算法庫
ifndef dlinklist h included define dlinklist h included typedef int elemtype typedef struct dnode 定義雙鏈表結點型別 dlinklist void createlistf dlinklist l,ele...
第四周 專案四 建立雙鏈表演算法庫
煙台大學計控學院 作 者 王力源 完成日期 2016年9月23日 問題描述 雙鏈表演算法庫演算法庫採用程式的多檔案組織形式,包括兩個檔案 1.標頭檔案 dlinklist.h,包含定義雙鏈表資料結構的 巨集定義 要實現演算法的函式的宣告 2.原始檔 linklist.cpp,包含實現各種演算法的函式...
第四周專案4 建設雙鏈表演算法庫
include include typedef int elemtype typedef struct dnode 定義雙鏈表結點型別 dlinklist void createlistf dlinklist l,elemtype a,int n 頭插法建雙鏈表 void createlistr d...