雙向鏈表的基本運算:
1、查找
假若我們要在一個帶表頭的雙向循環(huán)鏈表中查找數(shù)據(jù)域為一特定值的某個結(jié)點時,我們同樣從表頭結(jié)點往后依次比較各結(jié)點數(shù)據(jù)域的值,若正是該特定值,則返回指向結(jié)點的指針,否則繼續(xù)往后查,直到表尾。
下例就是應用雙向循環(huán)鏈表查找算法的一個程序。
#include <stdio.h>
#include <malloc.h>
#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]=’