三木社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 357|回复: 0
打印 上一主题 下一主题

C语言数据结构-main2-9.c

[复制链接]

1562

主题

1564

帖子

4904

积分

博士

Rank: 8Rank: 8

积分
4904
跳转到指定楼层
楼主
发表于 2017-9-1 08:17:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. /* main2-9.c 检验bo2-9.c的主程序(除输出语句外,和main2-8.c很像) */
  2. #include"c1.h"
  3. typedef int ElemType;
  4. #include"c2-2.h" /* 此句和main2-8.c不同 */
  5. #include"bo2-2.c" /* 加此句 */
  6. #include"bo2-9.c" /* 此句和main2-8.c不同 */

  7. void visit(ElemType c) /* ListTraverse()调用的函数(类型要一致) */
  8. {
  9.    printf("%d ",c);
  10. }

  11. void main()
  12. {
  13.    LinkList L; /* 此句和main2-8.c不同 */
  14.    ElemType d,e;
  15.    Status i;
  16.    int n;
  17.    printf("按非降序建立n个元素的线性表L,请输入元素个数n: ");
  18.    scanf("%d",&n);
  19.    CreatAscend(&L,n);
  20.    printf("依次输出L的元素:");
  21.    ListTraverse(L,visit);
  22.    InsertAscend(L,10); /* 按非降序插入元素10 */
  23.    printf("按非降序插入元素10后,线性表L为:");
  24.    ListTraverse(L,visit);
  25.    HeadInsert(L,12); /* 在L的头部插入12 */
  26.    EndInsert(L,9); /* 在L的尾部插入9 */
  27.    printf("在L的头部插入12,尾部插入9后,线性表L为:");
  28.    ListTraverse(L,visit);
  29.    i=GetFirstElem(L,&e); /* 此句加 */
  30.    printf("第1个元素是: %d\n",e); /* 此句加 */
  31.    printf("请输入要删除的元素的值: ");
  32.    scanf("%d",&e);
  33.    i=DeleteElem(L,e);
  34.    if(i)
  35.      printf("成功删除%d!\n",e);
  36.    else
  37.      printf("不存在元素%d!\n",e);
  38.    printf("线性表L为:");
  39.    ListTraverse(L,visit);
  40.    printf("请输入要取代的元素的序号 元素的新值: ");
  41.    scanf("%d%d",&n,&e);
  42.    ReplaceElem(L,n,e);
  43.    printf("线性表L为:");
  44.    ListTraverse(L,visit);
  45.    DestroyList(&L);
  46.    printf("销毁L后,按非升序重新建立n个元素的线性表L,请输入元素个数n(>2): ");
  47.    scanf("%d",&n);
  48.    CreatDescend(&L,n);
  49.    printf("依次输出L的元素:");
  50.    ListTraverse(L,visit);
  51.    InsertDescend(L,10); /* 按非升序插入元素10 */
  52.    printf("按非升序插入元素10后,线性表L为:");
  53.    ListTraverse(L,visit);
  54.    printf("请输入要删除的元素的值: ");
  55.    scanf("%d",&e);
  56.    i=DeleteElem(L,e);
  57.    if(i)
  58.      printf("成功删除%d!\n",e);
  59.    else
  60.      printf("不存在元素%d!\n",e);
  61.    printf("线性表L为:");
  62.    ListTraverse(L,visit);
  63.    DeleteFirst(L,&e);
  64.    DeleteTail(L,&d);
  65.    printf("删除表头元素%d和表尾元素%d后,线性表L为:",e,d);
  66.    ListTraverse(L,visit);
  67. }
复制代码


回复

使用道具 举报

Archiver|手机版|小黑屋|三木电子社区 ( 辽ICP备11000133号-4 )

辽公网安备 21021702000620号

GMT+8, 2025-5-1 23:59 , Processed in 0.027266 second(s), 23 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表