文档介绍::..数据结构算法实现计算机科学与技术系目录算法一学会简单开发与程序调式 1算法二线性表操作 3算法三单链表操作 7算法四栈基本操作 13算法五表达式求值 18算法六队列操作 24算法七稀疏矩阵运算 27算法八广义表操作 30算法九二叉树操作 33算法十二叉排序树的操作 39算法H1图的操作 45算法十二排序操作 63算法十三查找操作 67算法十四哈希表操作 69算法一学会简单开发与程序调式1、 目的*熟悉C或C++集成开发环境的基本命令及功能键,熟悉常用功能菜单命令*理解C或C++程序结构*理解函数声明、定义和调用方法*理解标准库函数、自定义函数*掌握参数的不同传送方式及作用2、 要求*学习如何根据编译信息,定位语法错误*将警告与错误一律看作错误*学习C或C++程序书写风格*写出上机调试后的体会3、 内容(1)编程实现输出一组数的最大值(或最小值)参考程序如下:#include<>constintn=10;voidmain(){inti,x,a[n];cout«"inputin10num:H;for(i=0;i<n;i++)cin»a[i];x=a[0];i=l;while(i<n){if(a[i]>x)x=a[i];i++;}cout«n10nummaxis:H«x«endl;(2)阅读下列程序,体会参数传递的变化,并上机调试。#include<>#include<>voidfunl(inta,intb);voidfun2(int&a,int&b);voidfun3(int*a,int*b);voidmain(){intx=5,y=10;cout«nanzhichuansong:n«endl;cout«"main:,,«setw(10)«"x=,'«setw(3)«x«setw(10)«',y=,'«setw(3)«y«endl;funl(x,y);cout<<nmain:"<<setw(10)<<"x="<<setw(3)<<x<<setw(10)<<ny=n<<setw(3)<<y<<endl;cout«endl;cout«”yyong:"«endl;cout«Mmain:H«sctw(l0)<<nx=n«sctw(3)«x«sctw(10)<<ny=n«sctw(3)«dl;fun2(x,y);cout<<nmain:"<<setw(10)<<"x="<<setw(3)<<x<<setw(10)<<ny="<<setw(3)<<y<<endl;cout«endl;cout«:dl;cout«nmain:n«setw(10)<<"x="<<setw(3)«x<<setw(10)<<"y="<<setw(3)<<y<<endl;fun3(&x,&y);cout«"main:',«setw(10)«,'x="«setw(3)«x«setw(10)«',y=n«setw(3)«y«endl;dl;voidfun1(inta,intb){a=a+b;b=2*a+3*b;cout«’’fun1:”《setw(10)<<na=’’<<setw(3)<<a<<setw(10)<<nb="<<setw(3)<<b<<endl;voidfun2(int&a,int&b)a=a+b;b=2*a+3*b;cout«nfun2:"«setw(10)<<,’a=n<<setw(3)<<a<<setw(10)<<nb="<<setw(3)<<b<<endl;}voidfun3(int*pa,int*pb){*pa+=*pb;*pb-=l;cout«"fun3:M«sctw(10)«"*Pa=n«sctw(3)«*pa«sctw(10)«',*pb=',«sctvv(3)«*dl;算法二顺性表操作1、 目的*会定义线性表的顺序存储类型*掌握线性表的基本运算和具体函数的定义2、 要求*编写对线性表的建立、插入、删除、查找等算法,并判断插入、删除的位置是否合法。*认真编写源程序,并进行调试,写出输入、输出和溢出判断结果*写出上机调试后的体会3、 内容编写线性表的顺序存储结构上的:初始化线性表、清空线性表、求线性表的长度、判空、判满、查找、插入、删除、线性表的有序输出等算法。参考程序如下:#include<>#include<>typedefintelemtype;structlist{clcmtypc*list;;intmaxsize;(l^lseXKIEBsuuq{tsffurns}(l^usn)-£0ns7:.s?§}G^.^l)^pspPOAJzrs=oz