zoukankan      html  css  js  c++  java
  • 插入结点(双向链表)

    #include<stdio.h>
    typedef struct DuLNode
    {
    	int data;
    	struct DuLNode *prior;
    	struct DuLNode *next;
    }DuLNode,* DuLinkList;
    void ListInsert(DuLinkList &L,DuLNode *p,DuLNode *s)
    {
    	s->prior=p->prior;
    	p->prior->next=s;
    	s->next=p;
    	p->prior=s;
    }
    int main()
    {
    	int m,n,i;
    	scanf("%d",&m);
    	DuLinkList p=new DuLNode;
    	DuLinkList L=p;
    	for(i=0;i<m;i++)
    	{
    		DuLinkList s=new DuLNode;
    		s->data=i;
    		s->prior=p;
    		p->next=s;
    		p=s;
    		p->next=L;
    		L->prior=p;
    	}
    	DuLinkList x=L;
    	scanf("%d",&n);
        for(i=1;i<=n;i++)
    		x=x->next;
    	DuLinkList y=new DuLNode;
    	y->data=10;
    	ListInsert(L,x,y);
    	p=L->prior;
    	while(p!=L)
    	{
    		printf("%d ",p->data);          //插入,逆着输出数
    		p=p->prior;
    	}
    	printf("
    ");
    	p=L->next;
    	for(i=0;i<=m;i++)
    	{
    		printf("%d ",p->data);          //插入,直接输出
    		p=p->next;
    	}	
    	printf("
    ");
    	return 0;
    }

  • 相关阅读:
    jdbc基础
    DAO模式(单表)
    window对象
    抽象类VS接口
    sql语句
    JS弹框计算
    HBML表单
    【mysql】:mysql性能优化总结
    【java】:多线程面试题
    spring multipart源码分析:
  • 原文地址:https://www.cnblogs.com/NYNU-ACM/p/4237352.html
Copyright © 2011-2022 走看看