首页 > 代码库 > C++数据结构与算法_2_线性表 --顺序表的应用示例
C++数据结构与算法_2_线性表 --顺序表的应用示例
<style type="text/css">h2.western { font-family: "Liberation Sans",sans-serif; font-size: 16pt; }h2.cjk { font-family: "微软雅黑"; font-size: 16pt; }h2.ctl { font-family: "AR PL UMing CN"; font-size: 16pt; }h1 { margin-bottom: 0.21cm; }h1.western { font-family: "Liberation Sans",sans-serif; font-size: 18pt; }h1.cjk { font-family: "微软雅黑"; font-size: 18pt; }h1.ctl { font-family: "AR PL UMing CN"; font-size: 18pt; }p { margin-bottom: 0.25cm; line-height: 120%; }</style>
顺序表的应用示例
--顺序表的并运算与交运算
#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 */
<style type="text/css">p { margin-bottom: 0.25cm; line-height: 120%; }</style>
/*输出结果(由于使用了重定向,所以输入的数据不会显示在屏幕上)*/
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。