實現演算法2 17的程式

2022-09-08 09:51:13 字數 1548 閱讀 8760

// 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代表一次增...