- 博客(24)
- 收藏
- 关注
原创 数据结构排序算法-快速排序
思路:快速排序函数里面就是重复:找到划分后枢轴下标,继续对枢轴左边进行快速排序,左边全部排完之后再对右边进行快速派苏。划分函数就是把比枢轴大的元素放到枢轴左边,比枢轴小的元素放到枢轴右边,最终返回枢轴下标。
2025-03-31 22:21:20
71
原创 PTA 自测-1 打印沙漏
注意每行输出符号后换行即可,不必再打印空格,只有当每行开始才需要打印空格。上半部分沙漏的行号从0开始,行号和该行前面需要打印的空格数相等,直至打印到最中间的i行。下半部分沙漏行号j从1开始,每行要打印的空格数等于行数i-行号j。思路:沙漏至少有1个符号,因此sum=1,先计算上半部分沙漏除最中间那行外要打印几行,上半部分沙漏打印完最中间那行就结束,接着打印下半部分沙漏,除掉中间那行,上下部分沙漏要打印的行数一样,都是i。自测-1 打印沙漏 - 中国大学MOOC-陈越、何钦铭-数据结构-起步能力自测题。
2025-03-31 13:06:41
168
原创 PTA基础编程题目集 6-13 折半查找
思路:每次查找的区间左端点设为low,右端点设为high,mid=(low+high)/2,第一次查找的区间范围是[0,leghth-1],每次查找都将查找区间的区间中点的值与k比较,因为是递增数列,比k大说明k在中点mid的左边那个区间,下次查找的区间的右端点就是mid-1,比k小下次查找区间的左端点就是mid+1,如果和k相等说明mid就是我们要找的k值的下标,如此循环直至low==high时,mid下标所在的值还不等于k,说明不存在k。6-13 折半查找 - 基础编程题目集。
2025-03-31 10:28:31
215
原创 PTA基础编程题目集 6-11 求自定类型元素序列的中位数
6-11 求自定类型元素序列的中位数 - 基础编程题目集。思路:用希尔排序效率最高,其他会超时。
2025-03-31 00:17:24
177
原创 数据结构排序算法-插入排序之直接插入排序
算法原理:把序列左边作为有序序列,右边作为无序序列,刚开始有序序列只有第一个元素,之后的元素都在无序序列,因为只有一个元素的序列肯定是有序的,从无序序列的前往后,每次取一个元素key插入前面的有序序列,找key的插入位置是从有序序列的最后一个元素往前找,每遇到一个大于key的元素都把它往后挪一位,直至找到一个小于key的元素a[ j ],把key插到该元素后面。
2025-03-30 21:16:08
188
原创 数据结构排序算法-插入排序之希尔排序
算法原理:需要一个增量序列,即1...n/4、n/2,增量序列可以以n/2为开始,每次的增量等于上一次增量除以2,n是元素个数。每次排序以同一增量的元素为子序列,对每个子序列进行插入排序,直至增量d为1时,整个序列已经基本有序,再对序列进行d=1的希尔排序,此时相当于对整个序列进行直接插入排序。
2025-03-30 20:59:15
195
原创 PTA基础编程题目集 6-10 阶乘计算升级版
其中N是用户传入的参数,其值不超过1000。如果N是非负整数,则该函数必须在一行中打印出N!的值,否则打印“Invalid input”。
2025-03-29 23:13:10
184
原创 PTA基础编程题目集 7-38 数列求和-加强版
题目:给定某数字A(1≤A≤9)以及非负整数N(0≤N≤100000),求数列之和S=A+AA+AAA+⋯+AA⋯A(N个A)。例如A=1, N=3时,S=1+11+111=123。
2025-03-29 17:22:18
136
原创 PTA基础编程题目集 7-37 整数分解为若干项之和
题目:将一个正整数N分解成几个正整数相加,可以有多种分解方法,例如7=6+1,7=5+2,7=5+1+1,…。编程求出正整数N的所有整数分解式子。
2025-03-29 16:04:54
431
原创 PTA基础编程题目集 7-18 二分法求多项式单根
二分法求函数根的原理为:如果连续函数f(x)在区间[a,b]的两个端点取值异号,即f(a)f(b)<0,则它在这个区间内至少存在1个根r,即f(r)=0。本题目要求编写程序,计算给定3阶多项式f(x)=a3x3+a2x2+a1x+a0在给定区间[a,b]内的根。
2025-03-28 14:31:45
152
原创 PTA基础编程题目集 7-34 通讯录的录入与显示
通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。
2025-03-28 12:30:14
108
原创 PTA基础编程题目 7-30 字符串的冒泡排序
我们已经知道了将N个整数按从小到大排序的冒泡排序法。本题要求将此方法用于字符串序列,并对任意给定的K(<N),输出扫描完第K遍后的中间结果序列。
2025-03-27 16:53:56
116
原创 PTA基础编程题目集 7-29 删除字符串中的子串
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。
2025-03-27 14:56:53
105
原创 PTA基础编程题目集 7-28 猴子选大王
一群猴子要选新猴王。新猴王的选择方法是:让N只候选猴子围成一圈,从某位置起顺序编号为1~N号。从第1号开始报数,每轮从1报到3,凡报到3的猴子即退出圈子,接着又从紧邻的下一只猴子开始同样的报数。如此不断循环,最后剩下的一只猴子就选为猴王。请问是原来第几号猴子当选猴王?
2025-03-27 10:54:15
127
原创 PTA基础编程题目集 7-27 冒泡法排序
将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们。通过一遍扫描,则最后一个元素必定是最大的元素。然后用同样的方法对前N−1个元素进行第二遍扫描。依此类推,最后只需处理两个元素,就完成了对N个数的排序。本题要求对任意给定的K(<N),输出扫描完第K遍后的中间结果数列。
2025-03-26 23:26:09
113
原创 PTA基础编程题目集 7-26 单词长度
你的程序要读入一行文本,其中以空格分隔为若干个单词,以结束。你要输出每个单词的长度。这里的单词与语言无关,可以包括各种符号,比如it's算一个单词,长度为4。注意,行中可能出现连续的空格;最后的不计算在内。
2025-03-26 20:43:15
155
原创 PTA基础编程题目 7-23 币值转换
7-23 币值转换输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。
2025-03-26 17:09:56
206
原创 Devc++ 无法调试,下一步按钮是灰色的解决办法
点击顶部菜单的工具➡编译选项➡代码生成/优化➡C编译器,把图片中圈起来的地方改成Yes。试过好几个方法都没有,最后这个终于成功了,分享给大家!
2025-02-28 15:08:49
277
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人