当前位置:首页 > 网络编程 > 软件语言 > C语言 > 链表的c语言实现(九)

链表的c语言实现(九)

点击次数:22 次 发布日期:2008-12-01 11:58:16 作者:源代码网
源代码网推荐 3、删除
源代码网推荐删除某个结点,其实就是插入某个结点的逆操作。还是对于双向循环链表,要在连续的三个结点s,p,q中删除p结点,只需把s的右链域指针指向q,q的左链域指针指向s,并收回p结点就完成了。
源代码网推荐下面就是一个应用双向循环链表删除算法的例子:
源代码网推荐#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("不能分配内存空间!");
源代码网推荐exit(0);
源代码网推荐}
源代码网推荐h->name[0]="\0";
源代码网推荐h->llink=null;
源代码网推荐h->rlink=null;
源代码网推荐p=h;
源代码网推荐for(i=0;i〈n;i++)
源代码网推荐{
源代码网推荐if((s= (stud *) malloc(sizeof(stud)))==null)
源代码网推荐{
源代码网推荐printf("不能分配内存空间!");
源代码网推荐exit(0);
源代码网推荐}
源代码网推荐p-〉rlink=s;
源代码网推荐printf("请输入第%d个人的姓名",i+1);
源代码网推荐scanf("%s",s->name);
源代码网推荐s->llink=p;
源代码网推荐s->rlink=null;
源代码网推荐p=s;
源代码网推荐}
源代码网推荐h->llink=s;
源代码网推荐p->rlink=h;
源代码网推荐return(h);
源代码网推荐}

源代码网整理以下
源代码网推荐stud * search(stud *h,char *x)
源代码网推荐{
源代码网推荐stud *p;
源代码网推荐char *y;
源代码网推荐p=h->rlink;
源代码网推荐while(p!=h)
源代码网推荐{
源代码网推荐y=p->name;
源代码网推荐if(strcmp(y,x)==0)
源代码网推荐return(p);
源代码网推荐else p=p->rlink;
源代码网推荐}
源代码网推荐printf("没有查找到该数据!");
源代码网推荐}

源代码网整理以下
源代码网推荐void print(stud *h)
源代码网推荐{
源代码网推荐int n;
源代码网推荐stud *p;
源代码网推荐p=h->rlink;
源代码网推荐printf("数据信息为:\n");
源代码网推荐while(p!=h)
源代码网推荐{
源代码网推荐printf("%s ",&*(p->name));
源代码网推荐p=p->rlink;
源代码网推荐}
源代码网推荐printf("\n");
源代码网推荐}

源代码网整理以下
源代码网推荐void del(stud *p)
源代码网推荐{
源代码网推荐(p->rlink)->llink=p->llink;
源代码网推荐(p->llink)->rlink=p->rlink;
源代码网推荐free (p);
源代码网推荐}

源代码网整理以下
源代码网推荐main()
源代码网推荐{
源代码网推荐int number;
源代码网推荐char studname[20];
源代码网推荐stud *head,*searchpoint;
源代码网推荐number=n;
源代码网推荐clrscr();
源代码网推荐head=creat(number);
源代码网推荐print(head);
源代码网推荐printf("请输入你要查找的人的姓名:");
源代码网推荐scanf("%s",studname);
源代码网推荐searchpoint=search(head,studname);
源代码网推荐printf("你所要查找的人的姓名是:%s\n",*&searchpoint->name);
源代码网推荐del(searchpoint);
源代码网推荐print(head);
源代码网推荐}
源代码网推荐

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华