数据结构
50% 教 材 《 数据结构 》 ( 用面向对象方法与 C++描述 ) 殷人昆 、 陶永雷 、 谢若阳 、 盛绚华编著 清华大学出版社 参考文献 – 《 Data Structuresamp。 Algorithm Analysis in C++》 ,MARK ALLEN WEI
else 30 /70 { for (k=last1。 K=i1。 k) list[k+1]=list[k]。 list [i1] =x。 ++last。 } } 31 /70 算法 11 插入算法主程序 define MAXLENGTH 100 /* 例 11主程序 */ int list[MAXLENGTH]={5,3,1,10,7,8,1,4}。 int
当我们对一个数组执行二分查找时,最多的查找次数是满足 n 2^k的最小整数 k, 比如:当数组长度为 20时,那么使用二分法的查找次数最多为 5次,即: 2^5 20 因此可以得出二分法的最差及平均情况的复杂度为 O(logn)。 课堂练习 问题描述: 有一个有序数组 :{1, 2, 3, 4, 5, 6, 7,8, 9, 10},请分别: 以线性法查找 7的下标。 以二分法查找 4的下标。 3
inorder( p right ) } } * + a / d * b c e f * + a / b c d * e f 后序遍历过程是: 得到表达式的表达式的逆波兰表示式(运算符在两个运算分量之后)。 后序遍历算法是: void postorder (treepointer p) { /*后序遍历 */ if ( p!=NULL ) { postorder( p left )。
me)。 scanf(%d,amp。 [i].bn1)。 [i].bn2=0。 //将已借书数置 0 for(int j=1。 ji。 j++) if(strcmp([i].rno,[j].rno)==0amp。 amp。 strcmp([i].name,c[j].name)==0) {cout已有该读者的信息 ,请重新输入 !endl。 i=。 break。 } cout继续输入吗 ?y/n:
t_reader()。 Init_book()。 } void Init_reader() /*初始化读者信息 */ { RD *p0。 int i。 printf(\n 读者初始化开始 ,请输入读者信息 ..\n 包括图书证号 .姓名 ..\n)。 p0=(RD*)malloc(sizeof(RD))。 h_reader=p0。 printf(\n请输入读者的信息 :\n)。
*/ while(!feof(fp)) {fscanf(fp,%ld\t\t%s\t%s\t%d\t%s\t%s\t%s\t\t%ld\t%ld\t\t\n,amp。 p1no,p1name,p1sex,amp。 p1age,p1xibie,p1zhuanye,p1mianmao,amp。 p1num,amp。 p1bianhao)。 k=k+1。
qnext=p。 snext=q。 p=q。 q=pnext。 } flag=1。 } } 排序算法流程图如图 5 所示: 显 示 排 序 菜 单链 表 是 否 为空选 择 操 作对 工 作 日期 排 序对 出 生 日期 排 序退 出 排序 系 统对 性 别排 序无 职 工信 息是否选 0选 1选 2选 3选 除 上 述 操 作 的 任 意 操 作 图 5 排 序算法程序流程图职工管理系统
已付款项 数量 ( 5)数据结构名称:出库单 简述:登记销售货品信息 组成:商品代码 供应商名称 送货单号 出库日期 价格 已付款项 数量 ( 6)数据结构名称:出库流水账 简述:登记核实销售的商品信息 组成:商品代码 供应商名称 出库日期 价格 已付款项 数量 ( 7)数据结构名称:库存账 简述:库存商品信息 组成:商品代码 名称 库存量 ( 8)数据结构名称:退货表 简述
if(Stop0) { cout\n车场车位状态 :。 cout\n车位号 \t 到达时间 \t车牌号 \n。 for(i=1。 i=Stop。 i++) { cout i\t。 coutSstack【 i】 时 Sstack【 i】 分。 cout\t Sstack【 i】 num\n。 } } else cout\n车 场里没有车。 } void List2 (LinkQueueCar