循环

int  delete(pList p,int num)
{
	peop q=p->head,tmp=p->head;
	int i=0;
	while(p->size!=0)
	{
		q=tmp;
         while(q!=NULL)
         {
           i++;
           if (i!=num)
        	   q=q->next;
           else
           {
                 i=0;
                 printf("%d\n",q->data);
                 tmp=q->next;
                 q->ptr->next=q->next;
                 q->next->ptr=q->ptr;
//                 q->next=NULL;
//                 q->ptr=NULL;
//                 free(q);
                 p->size--;
                 break;
           }
         }
	}
	return 1;
}

#include "head.h"
void Initialize(pList p)
{
	p->head=NULL;
	p->size=0;
	p->tail=p->head;
}
int CreatList2(pList p)
{
	peop q;

	puts("请输入id (!0)data");
	while(1)
	{
		if(	p->size==0)
		{
			 peop pep=(peop)malloc(sizeof(ele));
			 pep->next=NULL;
			 pep->ptr=NULL;
             scanf("%d%d",&pep->id,&pep->data);
               if(pep->id==0)
               {  free(pep);
               break;
               }
             p->head=pep;
             p->tail=pep;
             pep->next=pep;
             pep->ptr=pep;
             q=p->head;
		     p->size++;
		}

		else
		{
			peop pep=(peop)malloc(sizeof(ele));
			pep->next=NULL;
			   scanf("%d%d",&pep->id,&pep->data);
			               if(pep->id==0)
			               {  free(pep);
			               break;
			               }
            q->next =pep;
            pep->ptr=q;
            q=q->next;
            p->tail=q;
            q->next=p->head;
            p->head->ptr=q;
            p->size++;
		}
		puts("请输入id (!0)data");
	}
    return p->size;

}
void print(pList p)
{
	peop q;
	q=p->head;

  while (q!=NULL)
  {
      printf("%d\t%d\t\n",q->id,q->data);
	  q=q->next;
  }

}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值