#include #include typedef struct dulnode *node;
//定義結點
struct dulnode;
/*建立鍊錶 */
node creatlist()
head->proir=newnode;//迴圈鍊錶,頭的前驅指向尾
newnode->next=head;//尾的後繼指向頭
} return head;
}/*輸出鍊錶內容*/
node printlist(node head)
else }
}/* 查詢鍊錶*/
node searchlist(node head)
else
p=p->next;
} if(flag==0)
printf("鍊錶無此編號!\n");
/*另一種迴圈方法*/
/*for(p;p->num!=n&&p!=head;p=p->next);
if(n==p->num)
printf("查詢的編號和數值為:%d,%d \n",p->num,p->data);
else
printf("未找到相關資料!\n");
*/ }
return head;
}/*刪除鍊錶*/
node dellist(node head)
else
p=p->next;
}} return head;
}/*新增結點*/
node insertlist(node head)
else
p=p->next;
} if(flag==0)
printf("編號沒有找到\n");
} return head;
}/*修改結點*/
node modifylist(node head)
else
p=p->next;
} if(flag==0)
printf("鍊錶無此編號!\n");
雙向迴圈鍊錶基本操作
include include include typedef struct node linklist void clear 清屏 linklist init doublelinklist 初始化雙向迴圈鍊錶 void creat doublelinklist linklist 建立雙向迴圈鍊錶 ...
面試 雙向迴圈鍊錶求深度
今天面中興,題目是求雙向迴圈鍊錶的深度,發現還是不太會,回來敲了一遍。思路是迴圈便利直到尾節點,尾節點的標誌是,其下乙個節點是頭結點。include include typedef enum bool bool typedef struct bilistnode bl node bool inser...
雙向鍊錶和雙向迴圈鍊錶
和單向鍊錶相比,多了乙個前驅結點。如果他為空,那麼next和prior都指向自己。而對於雙迴圈鍊錶,只需要最後乙個元素的next指向head next,head next的prior指向最後乙個節點即可。新節點s插入鍊錶,s next給p結點,s prior給p prior,然後,p prior n...