参考文献
<1>严蔚敏,吴伟民.数据结构(C语言版)北京:清华大学出版社.1997 其中参考并用到里边的链表
<2> 谭浩强.c语言程序设计 北京:清华大学出版社.1999 其中参考并用到里边的文件操作 <4> 微软类库
查询rand,srand的用法
21
致 谢
本次数据结构综合训练之所以能够如此顺利完成,任课老师王连相老师起着举足轻重的作用,在此特别感谢王连相老师在课设过程中给我提出的建议以及给我们的鼓励,特别是对我们较高的要求:比如说集合本来可以不用文件,老师要求我们用了,通过此次课设,我把文件基本上掌握了。更感谢老师们没有直接给我调试出程序,而是以另一种方式循循善诱,让我最后独立完成,这样我才学得更多;也感谢一网友给我分析了很多内存泄露问题。
22
附录:源程序(带注释)
说明:先运行 randomm.cpp, randoms.cpp;以产生随机数存放到文件中,再运行set.cpp; 三个程序保存在同一个文件夹底下,否则打不开随机数产生的文件。 源代码如下: 1.randomm
/*************************************************************************/ /*********************产生随机数并存放于文本文件中************************/ /************************************************************************/
#include
#include
// 产生随机数,保存文件中 FILE *file = NULL; int i, j, k, temp;
file = fopen(\ if ( file == NULL ) {
printf(\若文件创建失败或者打开失败,报错 return 0; }
int ra[20]={0};
srand((int)time(NULL)); //产生随机数种子
for (i = 0 ; i < 20; i ++) //把产生的随机数放在此数组中 {
ra[i] = rand(); }
//给产生的随机数排序 //冒泡排序
for (i = 0; i < 19; i++) {
for(j = 19; j > i; j--) {
if (ra[j-1] > ra[j]) //以升序序列排序
23
{
temp = ra[j];
ra[j] = ra[j-1]; ra[j-1] = temp; } } }
for(k = 0; k < 20; k++) {
printf(\输出这20个随机数
fprintf(file,((k+1)%5 == 0) ? \= %d\\t\\n\: \= %d\\t\把随机数写入并以文本文件输出 }
fclose(file); //关闭文件 system(\弹出记事本 return 0; }
2.randoms (和上个程序基本相同,文件名称不同,写入文件的方式略微不同)
/*************************************************************************/ /*********************产生随机数并存放于文本文件中************************/ /************************************************************************/
#include
// 产生随机数,保存文件中 FILE * file = NULL; int i, j, k, temp;
file = fopen(\ if ( file == NULL ) {
printf(\ return 0; }
int ra[20]={0};
srand((unsigned)time(NULL));
24
for (i = 0 ; i < 20; i ++) {
ra[i] = rand(); }
//冒泡排序
for (i = 0; i < 19; i++) {
for(j = 19; j > i; j--) {
if (ra[j-1] > ra[j])//以升序序列排序 {
temp = ra[j]; ra[j] = ra[j-1]; ra[j-1] = temp; } } }
for (k = 0; k < 20; k++) {
fwrite(&ra[k],sizeof(int),1,file); // 写如文件 ,把数组中的元素单个地读入 printf(\ }
fclose(file); return 0;
system(\ } 3.set
/***********************************************************************/ /******************求集合的并交差集*************************************/ /***********************************************************************/
#include
#include
#include
25