#include<iostream>
using namespace std;
class Array{
protected:
int *a;
unsigned int size,num;
public:
Array(unsigned int s)
{
size =s;
num=0;
a=new int [s];
}
virtual ~Array () { delete[] a;}
virtual void add (int e)
{
if (num <size){
a[num]=e;
num++;
}
int get (unsigned int i) const
{
if ( i<size )
return a[i];
return 0;
}
};
class SortedArray:public Array{
public:
SortedArray::SortedArray (unsigned int s):Array(s){}
virtual void add(int e)
{
if (num>=size)
return;
int i=0,j;
while (i<num){
if ( e<a[i] )
{
for (j=num;j>i;j--)
{
a[j]=a[j-1];
}
a[j]=e;
break;
}
i++;
}
if (i=num)
a[i]=e;
num++;
}
}; void fun(Array &a )
{
int i;
for(i=10;i>0;i--){
a.add(i);
//cout<<a.get(10-i);
//cout<<endl;
}
for (i=0;i<10;i++){
cout<<a.get(i)<<",";
}
cout<<endl;
}
int main ()
{
//Array a(10);
//fun (a);
SortedArray sa(10);
fun (sa);
return 0;
}
using namespace std;
class Array{
protected:
int *a;
unsigned int size,num;
public:
Array(unsigned int s)
{
size =s;
num=0;
a=new int [s];
}
virtual ~Array () { delete[] a;}
virtual void add (int e)
{
if (num <size){
a[num]=e;
num++;
}
int get (unsigned int i) const
{
if ( i<size )
return a[i];
return 0;
}
};
class SortedArray:public Array{
public:
SortedArray::SortedArray (unsigned int s):Array(s){}
virtual void add(int e)
{
if (num>=size)
return;
int i=0,j;
while (i<num){
if ( e<a[i] )
{
for (j=num;j>i;j--)
{
a[j]=a[j-1];
}
a[j]=e;
break;
}
i++;
}
if (i=num)
a[i]=e;
num++;
}
}; void fun(Array &a )
{
int i;
for(i=10;i>0;i--){
a.add(i);
//cout<<a.get(10-i);
//cout<<endl;
}
for (i=0;i<10;i++){
cout<<a.get(i)<<",";
}
cout<<endl;
}
int main ()
{
//Array a(10);
//fun (a);
SortedArray sa(10);
fun (sa);
return 0;
}
break;
}
i++;
}
if (i=num)//是if(i=num)还是if(i==num)?
a[i]=e;
num++;
}
};