#include<iostream>
#include<vector>
using namespace std;
//---------------------------------------------------------------------
void sort_array(int *a,int cap); //排序数组内元素的函数声明
void sort_vector(vector<int>v); //排序向量内元素的函数声明
void sort_array_display(int *a,int cap);//输出原来数组内元素的函数声明
void sort_vector_display(vector<int>v);//输出原来向量内元素的函数声明
//-----------------------------------------------------------------------
int main()
{
int cap; //定义容量
cout<<"Please input the array and vactor's capacity\n";
cin>>cap; //输入容量
int *a=new int[cap]; //定义动态数组
cout<<"Please input the array and vactor's value\n";
for(int i=0;i<cap;i++) //初始化数组
cin>>a[i];
sort_array(a,10); //数组名以及一个int值做参数传递给排序函数
sort_array_display(a,10); //数组名做参数传递给输出函数
vector<int>v(a,a+10); //初始化向量
sort_vector(v); //向量名做参数传递给排序函数
sort_vector_display(v); //向量名做参数传递给输出函数
delete [] a; //释放内存
system("pause");
return 0;
}
//--------------------------------------------------------------------
void sort_array(int *a,int cap) //排序数组内元素的函数实现
{
int *b=new int[cap]; //新建一个数组
for(int k=0;k<cap;k++)
b[k]=a[k]; //所有数组元素复制于另一个数组
int tem;
for(int i=0;i<cap-1;++i) //冒泡排序
for(int j=0;j<cap-i-1;j++)
if(b[j]>b[j+1])
{
tem=b[j];
b[j]=b[j+1];
b[j+1]=tem;
}
cout<<"the array's sort result is:";
for(int i=0;i<cap;i++) //输出排序后的数组
cout<<b[i]<<" ";
cout<<endl;
delete [] b; //释放内存
}
//-----------------------------------------------------------------------
void sort_vector(vector<int>v) //排序向量内元素的函数实现
{
int tem;
for(int i=0;i<v.size()-1;++i) //冒泡排序
for(int j=0;j<v.size()-i-1;j++)
if(v[j]>v[j+1])
{
tem=v[j];
v[j]=v[j+1];
v[j+1]=tem;
}
cout<<"the vector's sort result is:";
for(int i=0;i<v.size();i++) //输出排序后的向量元素
cout<<v[i]<<" ";
cout<<endl;
}
//--------------------------------------------------------------------------
void sort_array_display(int *a,int cap) //输出原来数组内元素的函数实现
{
cout<<"原来数组里的值:";
for(int i=0;i<cap;++i)
cout<<a[i]<<" ";
cout<<endl;
}
//--------------------------------------------------------------------------
void sort_vector_display(vector<int>v) //输出原来向量内元素的函数实现
{
cout<<"原来向量里的值:";
for(int i=0;i<v.size();i++)
cout<<v[i]<<" ";
cout<<endl;
}
有关数组与向量对比的小作业
最新推荐文章于 2024-08-26 22:20:57 发布