雙向鍊錶——插入、刪除指定位置和相同節點
#includeusing namespace std;
struct node //node結構體,裡面有兩個個node指標,用來指向上/下乙個node物件
;node* create(int n) //建立鍊錶,引數n表示結點的個數,返回型別是結點指標node*
p->right=null; //建立完成後,p->right為空,最後乙個節點的right位null
head->right->left=null; //建立完成後,第乙個節點的left為null
return head;
}void display(node *head) //輸出鍊錶
coutnode *temp=new node; //新節點,這裡不能用node *temp; 前面講過,需要儲存資料,所以要new乙個
temp->x=data;
temp->left=p; //建立左連線
temp->right=p->right; //temp連線上p後面的節點
p->right=temp; //p與temp連線 }
void remove(node *head,int pos) //在鍊錶head指定位置pos刪除結點
void removesame(node *head) //在鍊錶head中刪除相同結點
t=t->right;
} p=p->right; }}
int main()
資料結構四雙向鍊錶
雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。而之前的單鏈表為單向鍊錶,雙向鍊錶也就是在單鏈表的結點中增加乙個指向其前驅的pre指標。如圖 這裡介紹雙向鍊錶的常用操作 l ...
資料結構 003雙向鍊錶
雙鏈表 include using namespace std typedef int elemtype typedef struct lnode lnode,linklist 初始化 linklist init linklist 頭插法建立鍊錶 linklist head insert linkl...
資料結構基礎 1 雙向鍊錶
linklist.h ifndef link list h define link list h 1 include include include struct stu struct stu initlist struct stu head void destroylist struct stu ...