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%; }
顺序表的应用示例
--顺序表的并运算与交运算
#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 */
p { margin-bottom: 0.25cm; line-height: 120%; }
/*输出结果(由于使用了重定向,所以输入的数据不会显示在屏幕上)*/
C++数据结构与算法_2_线性表 --顺序表的应用示例
时间: 2024-10-10 05:44:27