雙向鍊錶的基本操作 C

2021-10-08 07:10:23 字數 1661 閱讀 2313

參考其他人的雙向鍊錶實現,搞了乙個便於自己理解的練練筆。

#include

#include

using

namespace std;

//定義乙個節點

typedef

struct doublelinknode

}node;

// 建立乙個鍊錶

node*

create_list

(int

* nums,

int n)

return head;

}// 列印乙個鍊錶

void

print_list

(node* head)

node* p = head;

while

(p!=

null

) cout<<

'\n';}

//獲取鍊錶長度

intgetlength

(node* head)

return len;

}// 插入到任意位置(位置從1開始)

node*

insert_front

(node* head,

int n,

int x)

if(n >

getlength

(head)

)//插到尾節點之後

node* newnode =

newnode

(x);

p->next = newnode;

newnode-

>pre = p;

return head;

} node*p = head;

int i =1;

while

(i1&& p!=

null)if

(p==

null

)else

return head;

}// 刪除節點(位置從1開始)

node*

delete_node

(node*head,

int n)

int i =1;

node* p = head;

node* dele;

if(n==1)

//刪除頭節點

while

(i1&& p!=

null)if

(p->next-

>next!=

null

)else

return head;

}int

main()

; node* head =

create_list

(nums,7)

;print_list

(head)

; cout<<

getlength

(head)

insert_front

(head,7,

2);print_list

(head)

; head =

delete_node

(head,1)

;print_list

(head)

;return0;

}

雙向鍊錶 基本操作

test.c define crt secure no warnings 1 include doubleslishtnode.h void test1 initdslist pushback printfdslist popback void test2 pushfront popfront vo...

雙向鍊錶基本操作

帶頭節點的雙向鍊錶操作 include include include define ok 1 define error 0 define overflow 0 using namespace std typedef int status typedef int elemtype typedef s...

雙向鍊錶基本操作

package com.bei.linkedlist auther honeysky date 2020 11 10 13 38 public class doublelinkedlistdemo 建立乙個雙向鍊錶的類 class doublelinkedlist 遍歷雙向鍊錶的方法 public ...