#include

成都创新互联公司服务项目包括文水网站建设、文水网站制作、文水网页制作以及文水网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,文水网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到文水省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
#include
#define N 9
typedef struct node{
int data;
struct node * next;
}ElemSN;
ElemSN*Createlink(int a[],int n){
int i;
ElemSN*h=NULL,*p,*t;
 for(i=0;i 	 p=(ElemSN*)malloc(sizeof(ElemSN));          p->data=a[i]; 	 if(!h) 		 h=t=p; 	 else 		 p->next=h; 	 t=t->next=p;  }    return h; }//建立循环链表 ElemSN*DelKeyNode(ElemSN*h,int key){       ElemSN*p,*q;       p=h;       q=NULL;       do{ 	      if(p->data-key) {//遍历的结点的data与key不相等 		  q=p; 	          p=p->next; 	      }//指针后移,继续遍历 	  else break;//相等跳出循环       }while(p-h);//循环结束:1.p指针只在与key值相等的结点上;2:p指针遍历完链表没找到,此时p=h;       if(p==h&&q) 	  printf("NO\n");       else { 	  if(p==h){//头结点data==key,此时需要找到h的上一个结点, 		 for(q=h;q->next-h;q=q->next);//q在h的上一结点 		 h=h->next; //h后移 	 } 	 q->next=p->next;//断链 	 free(p);       }   return h; } void Printlink(ElemSN*h){      ElemSN*p;      p=h;      do{ 	     printf("%2d\n",p->data); 	     p=p->next;      }while(p-h); } int main(void){ 	int a[N]={1,2,3,4,5,6,7,8,9}; 	int key; 	ElemSN*head; 	head=Createlink(a,9); 	printf("key="); 	scanf("%d",&key); 	head=DelKeyNode(head,key); 	Printlink(head); }
                                                文章名称:循环链表的key删除                                                
                                                当前链接:http://www.cqwzjz.cn/article/ighggi.html
                                            

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 