写出下面代码的思路#include <iostream> using namespace std; class Array{ int *array; int len; public: Array(int n); ~Array(); void BubbleSort(); }; Array::Array(int n) { len = n; array = new int[n]; for(int i=0;i<n;i++) cin>>array[i]; } Array::~Array() { delete []array; } void Array::BubbleSort() { int i,j,temp,count=0; for(i=len-1;i>0;i--) { for(j=0;j<i;j++) { if(array[j]>array[j+1]) { temp = array[j]; array[j] = array[j+1]; array[j+1] = temp; count++; } } } cout<<count<<endl; } int main() { int n; while (cin>>n) { Array myArray(n); myArray.BubbleSort(); } return 0; }
时间: 2024-02-04 07:03:08 浏览: 56
使用include <iostream>时一定要加using namespace std
该代码的思路如下:
1. 首先包含头文件 iostream,使用命名空间std。
2. 定义一个名为 Array 的类,该类包含一个指向整型数组的指针 array,一个表示数组长度的整型变量 len,以及一个构造函数 Array()、一个析构函数 ~Array()、一个排序函数 BubbleSort()。
3. 构造函数 Array() 接收一个整数 n,将其赋值给 len,动态分配一个长度为 n 的数组空间,并通过循环输入 n 个整数到数组中。
4. 析构函数 ~Array() 释放动态分配的数组空间。
5. 排序函数 BubbleSort() 使用冒泡排序对数组中的元素进行排序,其中 count 用于记录排序过程中元素交换的次数。
6. 主函数 main() 中使用 while 循环读入整型变量 n,创建一个名为 myArray 的 Array 对象,并调用其 BubbleSort() 函数对数组进行排序,最后返回0结束程序。
注:该程序可以多次输入整数 n,并对每次输入的 n 个数进行排序和计数,并输出结果。
阅读全文