中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

循環鏈表的key刪除

發布時間:2020-07-23 22:29:10 來源:網絡 閱讀:391 作者:閆寶通 欄目:編程語言

#include<stdio.h>

#include<stdlib.h>

#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<N;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);

}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

洛川县| 四子王旗| 贺州市| 且末县| 潜江市| 阿克苏市| 政和县| 高青县| 湘阴县| 来凤县| 新沂市| 海林市| 正镶白旗| 江达县| 南郑县| 盱眙县| 西乌珠穆沁旗| 南投市| 平湖市| 怀来县| 双柏县| 上虞市| 长葛市| 田林县| 玉田县| 济宁市| 依安县| 周宁县| 平度市| 新乡市| 开封县| 山东省| 武义县| 横峰县| 天台县| 青州市| 乌兰察布市| 中牟县| 屯昌县| 垦利县| 灯塔市|