Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3878
  • 博文数量: 5
  • 博客积分: 270
  • 博客等级: 二等列兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-05 13:05
个人简介

暂无简介。

文章分类

全部博文(5)

文章存档

2011年(5)

我的朋友
最近访客

分类: PHP

2011-06-05 13:13:20

让他发的
 
电饭锅
 
  1. #include<stdio.h>
  2. #include<malloc.h>
  3. typedef char DataType;

  4. char B[10]={0};
  5. int b[10];

  6. typedef struct node
  7. {
  8.     DataType data;
  9.     struct node *next;
  10. }LinkList;

  11. void AddMusic(LinkList *r,int i)
  12. {
  13.     char x;
  14.     LinkList *head,*s;
  15.     scanf("%c",&x);
  16.     while( //输入$代表结束
  17.     {
  18.         b[i]=i; B[i++]=x;
  19.         s=malloc(sizeof(LinkList));
  20.         s->data=x;

  21.         //修改r指向
  22.         r->next=s;
  23.         r=s;
  24.         scanf("%c",&x);
  25.     }
  26.     r->next=NULL;
  27. }

  28. /*单链表的遍历*/
  29. void Traverse(LinkList *head)
  30. {
  31.     LinkList *p=head->next;
  32.     printf("\t");
  33.     while(p!=NULL)
  34.     {
  35.         printf("%c\t",p->data);
  36.         p=p->next;
  37.     }
  38.     printf("\n");
  39. }

  40. //遍历
  41. void PrintList(int i)
  42. {
  43.     printf("\t");
  44.     while(B[i] != '\0')
  45.     {
  46.         printf("%c",B[i++]);
  47.     }
  48.     printf("\n");
  49. }



  50. /*删除p的后一个元素*/
  51. void DeleteAfter(LinkList *p)
  52. {
  53.     LinkList *r;
  54.     if(p->next==NULL)
  55.     {
  56.         printf("错误位置!");
  57.         exit(1);
  58.     }
  59.     else
  60.     {
  61.         //修改p的后继,使其后移一位,并释放原来的后继
  62.         r=p->next;
  63.         p->next=r->next;
  64.         free(r);
  65.     }
  66. }

  67. /*删除第i个元素*/
  68. void Delete(LinkList *head,int i)
  69. {
  70.     LinkList *p;
  71.     p=GetIst(head,b[i]-1); //因为用后删法,所以要找i的前一位指针
  72.     DeleteAfter(p);
  73. }




  74. void main()
  75. {
  76.     /*测试*/
  77.     LinkList *head,*r;
  78.     int i=0;
  79.     head=malloc(sizeof(LinkList));
  80.     r=head;
  81.     r->next=NULL;
  82.     while(B[i] != '\0')
  83.         i++;
  84.     AddMusic(r,i);
  85.     PrintList(0);
  86.     //Traverse(head);

  87. /*    Insert(head,55,1);
  88.     printf("\n");Traverse(head);
  89.     Delete(head,1);
  90.     printf("\n");Traverse(head);*/
  91. }
阅读(180) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:擦电视剧

给主人留下些什么吧!~~