3、刪除
刪除某個結(jié)點,其實就是插入某個結(jié)點的逆操作。還是對于雙向循環(huán)鏈表,要在連續(xù)的三個結(jié)點s,p,q中刪除p結(jié)點,只需把s的右鏈域指針指向q,q的左鏈域指針指向s,并收回p結(jié)點就完成了。
下面就是一個應(yīng)用雙向循環(huán)鏈表刪除算法的例子:
#include
#include
#include
#define N 10
刪除某個結(jié)點,其實就是插入某個結(jié)點的逆操作。還是對于雙向循環(huán)鏈表,要在連續(xù)的三個結(jié)點s,p,q中刪除p結(jié)點,只需把s的右鏈域指針指向q,q的左鏈域指針指向s,并收回p結(jié)點就完成了。
下面就是一個應(yīng)用雙向循環(huán)鏈表刪除算法的例子:
#include
#include
#include
#define N 10
typedef struct node
{
char name[20];
struct node *llink,*rlink;
}stud;
stud * creat(int n)
{
stud *p,*h,*s;
int i;
if((h=(stud *)malloc(sizeof(stud)))==NULL)
{
printf(“不能分配內(nèi)存空間!”);
exit(0);
}
h->name[0]=’