码迷,mamicode.com
首页 > 编程语言 > 详细

C++数据结构与算法_2_线性表 --顺序表的应用示例

时间:2014-07-17 10:23:35      阅读:251      评论:0      收藏:0      [点我收藏+]

标签:线性表   顺序表   交运算   并运算   c++   

顺序表的应用示例

--顺序表的并运算与交运算

#include "SeqList.h"
using namespace std;

//并运算
void unionSL(SeqList<int> &LA,SeqList<int> &LB)
{
    int m = LA.Length();
    int n = LB.Length();
    for (int i = 1; i <= n; ++i)
    {
        int ival;
        LB.getData(i,ival);             //将数据从LB表中取出
        int searchVal = LA.Search(ival);

        if (searchVal == 0)             //如果该元素并不存在于LA表中
        {
            LA.Insert(m,ival);		//则插入之
            ++ m;
        }
    }
}

//交运算
void intersectionSL(SeqList<int> &LA,SeqList<int> &LB)
{
    int m = LA.Length();
    int i = 1;

    while (i <= m)
    {
        int ival;
        LA.getData(i,ival);             //将数据从LA中取出
        int searchVal = LB.Search(ival);

        if (searchVal == 0)             //如果发现该数据并不存在于LB中
        {
            LA.Remove(i,ival);		//则将其删除
            -- m;			//表长缩短[勿忘!]
        }
        else
        {
            ++ i;
        }
    }
}

//测试程序
int main()
{
    freopen("input","r",stdin);
    SeqList<int> L1,L2;
    L1.input();
    L2.input();
    unionSL(L1,L2);
    L1.output();
    cout << endl;

    SeqList<int> L3;
    L3.input();
    intersectionSL(L3,L2);
    L3.output();
}

/**测试数据
*5 1 2 3 4 5 6
*4 11 2 3 4 9
*
*4 11 12 13 4 19
*/


/*输出结果(由于使用了重定向,所以输入的数据不会显示在屏幕上)*/

bubuko.com,布布扣



C++数据结构与算法_2_线性表 --顺序表的应用示例,布布扣,bubuko.com

C++数据结构与算法_2_线性表 --顺序表的应用示例

标签:线性表   顺序表   交运算   并运算   c++   

原文地址:http://blog.csdn.net/zjf280441589/article/details/37899789

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!