171128——程序练习:动态数组申请&数组元素值倒置

来源:互联网 发布:程序员防蓝光保护眼睛 编辑:程序博客网 时间:2024/06/18 09:02

很久没来写总结的感觉。

上个周末好歹有时间看了看数组剩下的快要烂尾的知识点。今天做程序练习。
这个程序在完成这样一件事情:
由用户给定一个数目,而后由此申请动态空间得到相应长度的数组,由随机数函数赋值得到一组数字,之后把这组数组倒置排序。

在做倒置的时候考虑到实质是首尾互换,于是不可避免要遇到奇数偶数难同归一路的情况,那就干脆分类讨论。这个思想自己觉得很可以保留。
代码:

#include<iostream>#include<cstdlib>#include<ctime>using namespace std;void eva(int a[],int n) //随机数赋值函数 {    srand(time(NULL));    int i;    for(i=0;i<n;i++)    {        a[i]=rand();     }}void output(int a[],int n) //输出函数 {    int i;    for(i=0;i<n;i++)    {       cout<<a[i]<<endl;    }}void reverse(int a[],int n)//倒置函数 {    int i,t,j=n-1;    if(n%2==0)//偶数     {        for(i=0;i<=n/2-1;i++)        {            t=a[i];a[i]=a[j];a[j]=t;            j--;         }     }    else {            for(i=0;i<=(n-3)/2;i++)               {                  t=a[i];a[i]=a[j];a[j]=t;                  j--;               }         } } int main(){    int n;    cin>>n;    int *p=new int[n];    eva(p,n);    output(p,n);    reverse(p,n);    cout<<endl;     output(p,n);        delete p; }
原创粉丝点击