冒泡排序每一轮都会将序列中最大(或最小)的元素移动到末尾,因此可以类比冒泡的过程。这个算法的时间复杂度为O(n^2),其中n表示待排序序列的长度。 实际应用中,冒泡排序算法在处理小型数据集时可能还是比较有效的,但当数据规模较大时,就不太适用,因为效率较低。在这种情况下,更高效的排序算法如 快速排序、归并排...
二、测试说明 1.测试形式。本测试采用CCF PTA认证系统,要求参考人在规 定的时间内对给定的题目编程求解并提交程序,由认证系统通过多 组数据自动测试,累计所有通过测试的数据点分值,总分达到规定 分数线即认定本项测试合格。2.测试语言。在PTA认证中,参考人可选择图形化、Python 和 ...
则输出“Not a triangle”; (3)如果输入数据合法且能够成等边三角形,则输出“Equilateral triangle”; (3)如果输入数据合法且能够成等腰直角三角形,则输出“Isosceles right-angled triangle”; (5)如果输入数据合法且能够成等腰三角形,则输出“Isosceles triangle”; (6)如果输入数据合法且能够成直角三角形,...
#include <stdio.h>//冒泡排序即可int main(){int n;scanf("%d",&n);int a[n];for(int i=0;i<n;i++){scanf("%d",&a[i]);}int k;scanf("%d",&k);for(int i=0;i<n-1;i++){for(int j=0;j<n-i-1;j++){if(a[j]<a[j+1]){int t=a[j];a[j]=a[j+1];a[j+1]=...
10 9 8 7 6 5 4 3 2 1 输出样例: 5 #include <stdio.h>int main(){int k,n;scanf("%d%d",&k,&n);long long int a[n];for(int i=0;i<n;i++){scanf("%lli",&a[i]);}for(int i=0;i<n-1;i++){for(int j=0;j<n-1-i;j++){if(a[j]>a[j+1]){int t=a[j];a...
6.此题目的改进方法:冒泡排序相对于折半插入排序不稳定而且有一定的空间代价,所以如若改进会采用折半插入排序,冒泡排序的空间代价为:O(1)。 7.次题目的难度:总体难度较低,不算什么难题 8.次题目类图之间的关系: 二:题目集的2的第八题: 1.题目 2.考察知识点:考察了java的基础语法,如输入输出: ...
先从键盘输入一个整数n,n代表需要排序的整数数量,然后再从键盘输入n个整数,对这些数从小到大排序并输出 这题我选择了冒泡排序的写法是我们上学期学过的一个基本算法; import java.util.Scanner; public class Main { public static void main(String[] args) ...
PTA题目集4-6总结 一:前言 在题集4-6中,所考查的主要知识点有正则表达式,类与类之间的调用,类的聚合,继承,封装,接口与多态,三种排序方法如选择排序,冒泡排序,插入排序,ArrayList,stringbuilder和集合的使用等。题量一般,题目难度从第一次的比较难,然后难度逐渐降低,中间偶尔有穿插几个对于我来说有点难度的题目,...
二、题目集4(7-3)与题目集5(7-5、7-6)的写后感: 首先我是去看了一下继承的内容,但是并没有看完整,只是大概知道了就开始写代码了,但是在写的过程中又不知该如何继承,看书又觉得自己没错,但是在问过同学之后i才想起自己漏了super这一部分没看,最终是写出来了,但是似乎还是有点知其然而不知其所以然,只...
题目集六整体难度一般,题目数量较多,由于前面两次题目集对正则表达式的联系较多,本次题目集中7-1,7-3,7-4中的正则表达式练习是基础练习,题目集六中7-2是一道排序算法,7-5需要掌握封装,继承和多态,难度适中。7-6则需要使用接口来进行对不同的图形有不同的计算方法,需要学习知识较多,难度适中。