通讯录管理、八皇后问题、约瑟夫环、表达式求值_课程设计报告(编辑修改稿)内容摘要:
L。 } } //排序函数 void Sort(Linklist L) { Linklist p。 p=L。 int i。 printf(请选择通讯录的几种排序方式: \n)。 printf(1:按姓名排序。 2:按电话号码排序。 3:按地址排序。 其他整数 :退出 \n)。 scanf(%d,amp。 i)。 switch(i) { case 1:SortName(p)。 break。 11 case 2:SortTel(p)。 break。 case 3:SortAddress(p)。 break。 default:break。 } } //主函数 void main() { int i,j,t。 Linklist L。 while(1){ printf(通讯录功能如下: \n1.通讯录链表的建立; \n2.通讯者结点的插入; \n3.通讯者结点的查询; \n4.通讯者结点的删除; \n5.通讯录链表的输出; \n0.退出管理系统 :\n请选择 05\n)。 scanf(%d,amp。 t)。 if((t=0)||(t5)) break。 switch(t){ case 1:{L=CreatList()。 Sort(L)。 break。 } case 2:{ printf(在第 i个联系人前插入,请输入 i值 \n)。 scanf(%d,amp。 i)。 ListInsert(L,i)。 break。 } case 3:ListFind(L)。 break。 case 4:{ printf(删除第 j 个联系人的信息,请输入 j 值 \n)。 scanf(%d,amp。 j)。 ListDelete(L,j)。 break。 } case 5:OutPut(L)。 break。 } } printf(开始回收内存。 )。 Release(L)。 printf(回收内存结束。 )。 } 12 2 八皇后问题 问题简介 利用栈结构实现八皇后问题。 八皇后问题 19 世纪著名的数学家高斯于 1850年提出的。 他的问题是:在 8*8的棋盘上放置 8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列、同一斜线上。 请设计算法打印所有可能的摆放方法。 提示: 可以使用递归或非递归两种方法实现 实现一个关键算法:判断任意两个皇后是否在同一行、同一列和同一斜线上 存储结构 存储结构:栈(递归) 关键算法分析 【设计思想】 由于八皇后问题,可以分解成算法相同的子问题,所以使用递归的方法 【伪代码】 输入皇后个数 n k=1 判断 k是否大于 n 是:打印一组可能 13 否:循环行位置 1~n 判断该位置是否符合要求,若符合记录 q[k]的坐标 y 值 k+1 重复 3 源代码 include iostream using namespace std。 const int StackSize=8。 //定义栈的最大高度 int ans=0。 //初始化摆放方案计数器 template class T class SeqStack //定义顺序栈模板类 { public: SeqStack(){top=1。 } //构造函数,初始化空栈 void Push(T x)。 //入栈 void Pop()。 //出栈 void PlaceQueen(int row)。 //摆放 8 皇后的递归函数 bool Judgement()。 //判断是否在同一行同一列同一斜线 void Output()。 //打印棋盘 bool Empty(){if(top==1) return true。 else return false。 }。 //判别栈是否为空 private: T data[StackSize]。 //定义数组 int top。 //栈顶指针 }。 template class T 14 void SeqStackT::Push(T x) //入栈操作 { if(top=StackSize1) throw error。 top++。 //栈顶指针上移 data[top]=x。 } template class T void SeqStackT::Pop() //出栈操作 { if(Empty()) throw error。 top。 //栈顶指针下移 } template class T void SeqStackT::PlaceQueen(int row) //在栈顶放置符合条件的值的操作 ,即摆放皇后 { for (int col=0。 colStackSize。 col++) //穷尽 0~7,即穷尽列 { Push(col)。 if (Judgement()) //判断摆放皇后的位置是否安全 { if (rowStackSize1) //若还没有放到第八个皇后,则进行下一个皇后的放置 PlaceQueen(row+1)。 else { ans++。 //解数加 1 Output()。 //打印成功的棋盘 } 15 } Pop()。 //若不符合条件则出栈 } } template class T bool SeqStackT::Judgement() { for(int i=0。 itop。 i++) //依次检查前面各行的皇后位置 if(data[top]==data[i]||(abs(data[top]data[i]))==(topi)) //判断是否在同一列同一斜线 return false。 return true。 } template class T void SeqStackT::Output() //将栈的数组形式打印成棋盘形式 { coutNO.ans:endl。 for(int i=0。 iStackSize。 i++) { for(int j=0。 jdata[i]。 j++) cout。通讯录管理、八皇后问题、约瑟夫环、表达式求值_课程设计报告(编辑修改稿)
相关推荐
2漏斗棚架法 安徽理工大学毕业设计 5 也称下导坑先墙后拱法。 适用于较坚硬稳定的岩层。 施工时先开挖下导坑,在导坑上方开始由下向上作反台阶式的扩大开挖,直至拱顶;随后在两侧由上向下作正台阶式的扩大开挖,直至边墙底;全断面完全开挖后,再由边墙到顶拱修筑衬砌。 施工顺序见图 2。 此法在下导坑中设立的漏斗棚架 ,是用木料架设的临时结构。 横梁上铺设轻便钢轨,在下导坑运输线路上方留出纵向缺口
未签订不拨款,地方配套及自筹资金不到位不拨款,无施工进度不拨款、工程质量不合格不拨款。 对设备和管材全部实行报帐制。 为避免出现花钱不办事或挪用资金等现象的发生 ,对资金的管理实行专户存储、专款专用 ,公开帐目 ,群众监督。 取得了显著成效。 农村饮水解困工程质量关系千家万户, 我 市树立 “ 百年大计,质量第一 ” 的指导思想, 一是严把材料设备关 ,实行集中采购 ,采取阳光作业 ,严把进货关
不符合要求的再次纠正后,即可浇筑混凝土。 6)基础混凝土达到 50﹪设计强度时,即可用气割割除外露的固 20 定架。 割除时避免敲打,防止损伤螺栓丝扣。 拆完后清除丝扣上的混凝土残渣,除锈,表面抹黄油,外包塑料布或麻袋片进行保护。 为保证工程质量,加快施工进度,主体结构采用新型模板,达到清水混凝土质量。 1)独立基础 基础模板采用普通定型钢模板,里楞、外楞和支撑均采用Φ48 钢管,基础短柱用
哪些人选了。 其用例图如 图 22 所示。 出 问 卷 者出 卷查 询 问 卷 结 果 e x t e n d s 修 改 问 卷 i n h e r i t s 登 录 s u b c l a s s 表 查 看 s u b c l a s s 明 细 查 看 u s e s u s e s 图 22 出问卷 者 用例图 7 信息科学与技术学院学士学位论文 答卷者要求能从系统调出问卷并作答
c . RDS( Remote Data Service)方式; 这三种访问方式对数据库的访问是由 Inter Information Server 来完成的。 Web 浏览器用 HTTP 协议向 Inter 信息服务器( IIS)递交请求。 Inter 信息服务器执行访问数据库的操作,并以一个 HTML 格式的文档作为回答 [12]。 在本程序中我使用的是第二 种方式,即 ADO 方式。
㎡。 建筑等级:建筑防火等级二级 结构类型:一层框架结构 建筑使用年限: 50年 抗震设防烈度: 8度 四、车库 在戒毒中心办公区内新建车库,总建筑面积为 1000㎡,首层基 底面积为 1500㎡。 建筑等级:建筑防火等级二级 结构类型:一层砖混结构 建筑使用年限: 50年 抗震设防烈度: 8度 五、会见室、提审室 在戒毒中心新建会见室、提审室,总建筑面积为 160 ㎡,首层基底面积为200㎡。