Document
Vincent's Blog
 
社交按钮
首页
笔记
归档
标签
关于
留言
友人帐

访客人数:人 总访问量:次
| Theme: Fog
载入天数...
载入时分秒...
06/08/2020
🎈总访问量:  |   🙍‍访问人数:
2020-07-08
2 min read

笔记-2020/07/08

https://VincentZ007.github.io/post/bi-ji-20200708/
https://VincentZ007.github.io/

热度🔥: loading...

双链表

说明:单链表结点中只有一个指向其后继的指针,使得单链表只能从头结点依次顺序地向后访问。为了克服单链表只能从前往后的访问的缺陷,引入prior指针,使得链表可以向前访问。
结构示意图:

建表

//尾插法建表
public DLinkList buildDLinkList(int[] arr) {
		DLinkList head = new DLinkList();
		head.next = null;
		head.prior = null;
		head.data = 0;
		DLinkList r = head;
		int count = 0;
		while (count < arr.length) {
			DLinkList p = new DLinkList();
			p.data = arr[count++];
			p.next = r.next;
			p.prior = r;
			r.next = p;
			r = p;
		}
		return head;
	}

插入删除

    //插入
	public DLinkList insert(DLinkList head,int posi,int value) {
		DLinkList p=head.next;
		int count=0;
		while (count<posi) {
			p=p.next;
			count++;
		}
		DLinkList q=new DLinkList();
		q.data=value;
		q.next=p.next;
		q.prior=p;
		p.next.prior=q;
		p.next=q;
		return head;
	}

    //删除
    	public DLinkList delete(DLinkList head,int posi) {
		DLinkList p=head;
		int count=0;
		while (count<posi) {
			p=p.next;
			count++;
		}
		p.next.next.prior=p;
		p.next=p.next.next;
		return head;
	}

循环链表

循环单链表

循环双链表

静态链表

上一篇 笔记-2020/07/18
下一篇 笔记-2020/06/24
  • 双链表
  • 建表
  • 插入删除
  • 循环链表
    • 循环单链表
    • 循环双链表
    • 静态链表
Vincent's Blog  |
  • 首页
  • 笔记
  • 归档
  • 标签
  • 关于
  • 留言
  • 友链
2020-07-08
2 min read

笔记-2020/07/08

https://VincentZ007.github.io/post/bi-ji-20200708/
https://VincentZ007.github.io/

热度🔥: loading...

双链表

说明:单链表结点中只有一个指向其后继的指针,使得单链表只能从头结点依次顺序地向后访问。为了克服单链表只能从前往后的访问的缺陷,引入prior指针,使得链表可以向前访问。
结构示意图:

建表

//尾插法建表
public DLinkList buildDLinkList(int[] arr) {
		DLinkList head = new DLinkList();
		head.next = null;
		head.prior = null;
		head.data = 0;
		DLinkList r = head;
		int count = 0;
		while (count < arr.length) {
			DLinkList p = new DLinkList();
			p.data = arr[count++];
			p.next = r.next;
			p.prior = r;
			r.next = p;
			r = p;
		}
		return head;
	}

插入删除

    //插入
	public DLinkList insert(DLinkList head,int posi,int value) {
		DLinkList p=head.next;
		int count=0;
		while (count<posi) {
			p=p.next;
			count++;
		}
		DLinkList q=new DLinkList();
		q.data=value;
		q.next=p.next;
		q.prior=p;
		p.next.prior=q;
		p.next=q;
		return head;
	}

    //删除
    	public DLinkList delete(DLinkList head,int posi) {
		DLinkList p=head;
		int count=0;
		while (count<posi) {
			p=p.next;
			count++;
		}
		p.next.next.prior=p;
		p.next=p.next.next;
		return head;
	}

循环链表

循环单链表

循环双链表

静态链表

上一篇 笔记-2020/07/18
下一篇 笔记-2020/06/24