// algo2-8.cpp 實現演算法2.17的程式
#include"c1.h"
#define n 2
typedef char elemtype;
#include"c2-3.h"
#include"func2-2.cpp"
#include"bo2-32.cpp"
#include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函式
void difference(slinklist space,int &s) // 演算法2.17
scanf("%*c"); // %*c吃掉回車符
space[r].cur=0; // 尾結點的指標為空
printf("請輸入集合b的元素(共%d個):",n);
for(j=1;j<=n;j++)
if(k==space[r].cur)
else // 該元素已在表中,刪除之
}}void main()
執行結果如下:
// algo2-9.cpp 盡量採用bo2-31.cpp中的基本操作實現演算法2.17的功能
#include"c1.h"
#define n 2
typedef char elemtype;
#include"c2-3.h"
#include"func2-2.cpp"
#include"bo2-31.cpp"
#include"func2-3.cpp" // 包括equal()、comp()、print()、print2()和print1()函式
void difference(slinklist space) // 改進演算法2.17(盡量利用基本操作實現)
scanf("%*c"); // 吃掉回車符
printf("請輸入集合b的元素(共%d個):",n);
for(j=1;j<=n;j++)
}if(i>listlength(space)) // 表中不存在b
listinsert(space,1,b); // 將b插在表頭 }}
void main()
執行結果如下:
algo2-9.cpp 是用靜態鍊錶的基本操作來實現演算法2.17 功能的。由於只用到1 個鏈
表,故採用bo2-31.cpp 中的基本操作;又由於集合是與順序無關的,而鍊錶的插入以插
在表頭效率最高,故在algo2-9.cpp 中插入元素時均插在表頭。這只影響集合中元素的輸
出順序。將algo2-9.cpp 與algo2-8.cpp 對比可見,採用基本操作可使程式簡潔明瞭,思路
清晰,因此在程式設計時應盡量採用已有的基本操作,以提高效率
*/
實現演算法2 17的程式
algo2 8.cpp 實現演算法2.17的程式 include c1.h define n 2 typedef char elemtype include c2 3.h include func2 2.cpp include bo2 32.cpp include func2 3.cpp 包括equ...
資料結構 演算法2 17
include stdio.h include string.h define max 1000 集合n與集合m中共有的元素需要刪除形成新的集合m 測試項 6 4c b e g f d a b n f structspace max 連續的靜態鍊錶 void init 初始化靜態鍊錶的空間,可以說這...
Dinic演算法的程式實現
program poj 1273 dinic author comzyh include include include include define min x,y x0 if dis n 0 return 1 else return 0 匯點的dis小於零,表明bfs不到匯點 find代表一次增...