加载中...

上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 29 下一页
摘要: 06.从有序顺序表中删除所有其值重复的元素,使表中所有元素的值均不同。 算法思想:注意是有序顺序表,值相同的元素一定在连续的位置上,用类似于直接插入排序的思想,初始时将第一个元素视为非重复的有序表。之后依次判断后面的元素是否与前面非重复有序表的最后一个元素相同,若相同,则继续向后判断,若不同,则插入 阅读全文
posted @ 2023-03-25 22:11 bujidao1128 阅读(29) 评论(0) 推荐(0)
摘要: 05.从顺序表中删除其值在给定值s与t之间(包含s和t,要求s<t)的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。 算法思想:从前向后扫描顺序表L,用k记录下元素值在s到t之间元素的个数(初始时k=0)。对于当前扫描的元素,若其值不在s到t之间,则前移k个位置:否则执行k++。由 阅读全文
posted @ 2023-03-25 21:49 bujidao1128 阅读(54) 评论(0) 推荐(0)
摘要: 04.从有序顺序表中删除其值在给定值s与t之间(要求s<t)的所有元素,若s或t不合理或顺序表为空,则显示出错信息并退出运行。 在很多教材中指的"有序",如无特别说明,通常是指“递增有序”。注意本题与上题的区别,因为是有序表,所以删除的元素必然是相连的整体。 算法思想:先寻找值大干或等于s的第一个元 阅读全文
posted @ 2023-03-24 23:19 bujidao1128 阅读(43) 评论(0) 推荐(0)
摘要: 03.对长度为n的顺序表L,编写一个时间复杂度为O(n)、空间复杂度为O(1)的算法,该算法删除线性表中所有值为x的数据元素。 解法1:用k记录顺序表L中不等于x的元素个数(即需要保存的元素个数),扫描时将不等于x的元素移动到下表k的位置,并更新k值。扫描结束后修改L的长度。 该解法的代码如下: / 阅读全文
posted @ 2023-03-23 23:42 bujidao1128 阅读(45) 评论(0) 推荐(0)
摘要: 02.设计一个高效算法,将顺序表L的所有元素逆置,要求算法的空间复杂度为O(1)。 算法思想:扫描顺序表 L 的前半部分元素,对于元素L.datai,将其与后半部分的对应元素L.data[L.length-i-1]进行交换。 本题代码如下: void Reverse(SqList &L) { Ele 阅读全文
posted @ 2023-03-22 23:20 bujidao1128 阅读(32) 评论(0) 推荐(0)
摘要: 01.从顺序表中删除具有最小值的元素(假设唯一)并由函数返回被删元素的值。空出的位置由最后一个元素填补,若顺序表为空,则显示出错信息并退出运行。 算法思想:搜索整个顺序表,查找最小值元素并记住其位置,搜索结束后用最后一个元素填补空出的原最小值元素的位置。 本题代码如下: bool Del_Min(S 阅读全文
posted @ 2023-03-22 23:06 bujidao1128 阅读(49) 评论(0) 推荐(0)
摘要: c语言中printf里面的%12d,%02d的用法含义 看C语言程序的时候,往往会遇到printf函数输出,在此,我想总结一下printf的一般用法以及%12d是什么意思 printf函数的一般格式为 printf(格式控制,输出列表); 例如: printf(“%d,%c\n”,i,c); 括号内 阅读全文
posted @ 2023-03-22 22:18 bujidao1128 阅读(1555) 评论(0) 推荐(0)
摘要: C++ map用法总结(整理) 1,map简介 map是STL的一个关联容器,它提供一对一的hash。 第一个可以称为关键字(key),每个关键字只能在map中出现一次; 第二个可能称为该关键字的值(value); map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。M 阅读全文
posted @ 2023-03-19 23:45 bujidao1128 阅读(487) 评论(0) 推荐(0)
摘要: 直线 题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 在平面直角坐标系中,两点可以确定一条直线。如果有多点在一条直线上, 那么这些点中任意两点确定的直线是同一条。 给定平面上 2 × 3 个整点 (x, y)|0 ≤ x < 2, 0 ≤ y < 3, x ∈ Z 阅读全文
posted @ 2023-03-19 23:14 bujidao1128 阅读(118) 评论(0) 推荐(0)
摘要: P1145 约瑟夫 约瑟夫 题目描述 n 个人站成一圈,从某个人开始数数,每次数到 m 的人就被杀掉,然后下一个人重新开始数,直到最后只剩一个人。现在有一圈人,k 个好人站在一起,k 个坏人站在一起。从第一个好人开始数数。你要确定一个最小的 m,使得在第一个好人被杀死前,k 个坏人先被杀死。 输入格 阅读全文
posted @ 2023-03-16 23:37 bujidao1128 阅读(104) 评论(0) 推荐(0)
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 29 下一页