一、对于学生姓名的存储,一开始想用char类型的二维数组进行存储,发现char类型的数组有点混乱,于是改用string类型的一维数组。
二、排序法的方法: 参考文献:六大排序算法
1.插入排序 :时间复杂度:最坏情况下为O(N*N),此时待排序列为逆序,或者说接近逆序,最好情况下为O(N),此时待排序列为升序,或者说接近升序。空间复杂度:O(1);
2.希尔排序:时间复杂度平均:O(N^1.3),空间复杂度:O(1);
3.选择排序:时间复杂度:最坏情况:O(N^2),最好情况:O(N^2),空间复杂度:O(1);
4.冒泡排序:时间复杂度:最坏情况:O(N^2),最好情况:O(N),空间复杂度:O(1);
5.堆排序:时间复杂度为O(N*log2N);
6.快速排序:时间复杂度为O(N*log2N);
三、一开始当拍完一科成绩后并没有给姓名初始化,导致在进行第二科成绩排序时,学生姓名与考试成绩不符,出现错误情况;
实验2
- 创建一个Score类,完成以下功能:
代码:
#include<iostream>
using namespace std;
class Score
{
public:
Score(int stnumber = 2)
{
if (stnumber > 100)
number = 100;
else number = stnumber;
}
void input()
{
for (int i = 0; i < number; i++)
{
//输入姓名
cout << "请输入学生姓名:" << endl;
cin >> name[i];
//输入学生成绩
cout << "请输入科目A成绩:" <<