⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main2-9.c

📁 线性表常用算法集合
💻 C
字号:
 /* main2-9.c 检验bo2-9.c的主程序(除输出语句外,和main2-8.c很像) */
 #include"c1.h"
 typedef int ElemType;
 #include"c2-2.h" /* 此句和main2-8.c不同 */
 #include"bo2-2.c" /* 加此句 */
 #include"bo2-9.c" /* 此句和main2-8.c不同 */

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

 void main()
 {
   LinkList L; /* 此句和main2-8.c不同 */
   ElemType d,e;
   Status i;
   int n;
   printf("按非降序建立n个元素的线性表L,请输入元素个数n: ");
   scanf("%d",&n);
   CreatAscend(&L,n);
   printf("依次输出L的元素:");
   ListTraverse(L,visit);
   InsertAscend(L,10); /* 按非降序插入元素10 */
   printf("按非降序插入元素10后,线性表L为:");
   ListTraverse(L,visit);
   HeadInsert(L,12); /* 在L的头部插入12 */
   EndInsert(L,9); /* 在L的尾部插入9 */
   printf("在L的头部插入12,尾部插入9后,线性表L为:");
   ListTraverse(L,visit);
   i=GetFirstElem(L,&e); /* 此句加 */
   printf("第1个元素是: %d\n",e); /* 此句加 */
   printf("请输入要删除的元素的值: ");
   scanf("%d",&e);
   i=DeleteElem(L,e);
   if(i)
     printf("成功删除%d!\n",e);
   else
     printf("不存在元素%d!\n",e);
   printf("线性表L为:");
   ListTraverse(L,visit);
   printf("请输入要取代的元素的序号 元素的新值: ");
   scanf("%d%d",&n,&e);
   ReplaceElem(L,n,e);
   printf("线性表L为:");
   ListTraverse(L,visit);
   DestroyList(&L);
   printf("销毁L后,按非升序重新建立n个元素的线性表L,请输入元素个数n(>2): ");
   scanf("%d",&n);
   CreatDescend(&L,n);
   printf("依次输出L的元素:");
   ListTraverse(L,visit);
   InsertDescend(L,10); /* 按非升序插入元素10 */
   printf("按非升序插入元素10后,线性表L为:");
   ListTraverse(L,visit);
   printf("请输入要删除的元素的值: ");
   scanf("%d",&e);
   i=DeleteElem(L,e);
   if(i)
     printf("成功删除%d!\n",e);
   else
     printf("不存在元素%d!\n",e);
   printf("线性表L为:");
   ListTraverse(L,visit);
   DeleteFirst(L,&e);
   DeleteTail(L,&d);
   printf("删除表头元素%d和表尾元素%d后,线性表L为:",e,d);
   ListTraverse(L,visit);
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -