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

📄 algo2-1.cpp

📁 严蔚敏 数据结构的配套代码
💻 CPP
字号:
 // algo2-1.cpp 实现算法2.1的程序
 #include"c1.h"
 typedef int ElemType;
 #include"c2-1.h" // 采用线性表的动态分配顺序存储结构
 #include"bo2-1.cpp" // 可以使用bo2-1.cpp中的基本操作

 Status equal(ElemType c1,ElemType c2)
 { // 判断是否相等的函数,Union()用到
   if(c1==c2)
     return TRUE;
   else
     return FALSE;
 }

 void Union(SqList &La,SqList Lb) // 算法2.1
 { // 将所有在线性表Lb中但不在La中的数据元素插入到La中
   ElemType e;
   int La_len,Lb_len;
   int i;
   La_len=ListLength(La); // 求线性表的长度
   Lb_len=ListLength(Lb);
   for(i=1;i<=Lb_len;i++)
   {
     GetElem(Lb,i,e); // 取Lb中第i个数据元素赋给e
     if(!LocateElem(La,e,equal)) // La中不存在和e相同的元素,则插入之
       ListInsert(La,++La_len,e);
   }
 }

 void print(ElemType &c)
 {
   printf("%d ",c);
 }

 void main()
 {
   SqList La,Lb;
   Status i;
   int j;
   i=InitList(La);
   if(i==1) // 创建空表La成功
     for(j=1;j<=5;j++) // 在表La中插入5个元素
       i=ListInsert(La,j,j);
   printf("La= "); // 输出表La的内容
   ListTraverse(La,print);
   InitList(Lb); // 也可不判断是否创建成功
   for(j=1;j<=5;j++) // 在表Lb中插入5个元素
     i=ListInsert(Lb,j,2*j);
   printf("Lb= "); // 输出表Lb的内容
   ListTraverse(Lb,print);
   Union(La,Lb);
   printf("new La= "); // 输出新表La的内容
   ListTraverse(La,print);
 }

⌨️ 快捷键说明

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