雙鏈表:
主要注意最後結點的操作,否則容易出現null->prior的情況。
#include #include typedef struct dlnode
dlnode,*list;
//尾插法構建
void createndlist(list &l,int a, int n)
f->next=null;
}void creatfirstlist(list &l,int a,int n)
}//查詢某元素值,返回位置
int find(list l,int x)
return -1;
}//刪除x
void deletelist(list &l,int x)
else
s->prior->next=null;
free(s);
}s=s->next;
}}//輸出
void pri(list l)
}//插入,根據位置x插入n
void insert(list &l,int x,int n)
l=l->next;
}if(l->next!=null)
else
}int main()
; creatfirstlist(l, a, 5);
int x;
//x=find(l, 1);
//deletelist(l, 1);
insert(l, 1, 99);
//printf("%d",x);
pri(l);
return 0;
}
資料結構 雙鏈表的基本操作
定義順序表 typedef structsqlist 初始化順序表 必須要!構建c表的時候會用上 void initsqlist sqlist l l.data i e l.size 順序的表長要增加!return 1 特定位置刪除元素 int deleteelem sqlist l,int p i...
資料結構之單鏈表 雙鏈表的基本操作
單鏈表雙鏈表中經常糾結的概念 1 鍊錶是否有含有頭結點 1 帶頭結點的煉表頭指標head指向頭結點,資料域不含任何資訊,只是指向鍊錶的第乙個儲存資訊的結點,head next等於null則表示鍊錶為空 2 不帶頭結點的煉表頭指標head直接指向儲存資訊的第乙個結點,head null,表示鍊錶為空。...
基本資料結構 雙鏈表
雙鏈表也叫雙向鍊錶 是鍊錶 的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。一般我們都構造雙向迴圈鍊錶 1 基本結構 雙向鍊錶中有兩種不同方向的鏈,即每個節點中除了next域存放後繼結點位址外,還增加...