输出波峰波谷

/*输出波峰波谷
*/
void printArrPeakValley(const int* arr, int len )
{
    //
    vector<int> iv(arr,arr+len);
    vector<int> result;
    result.push_back(iv[0]);

    int temp=iv[0];
    int maxDis=iv[0];
    vector<int>::size_type i=1;
    int flag=0;
    for(;i<iv.size();)
    {
        while(i iv[i] )
        {
            flag=0;
            i++;
        }
        while(i iv[i] )
        {
            flag=1;//递增标记
            temp=iv[i];
            i++;
        }
        if(flag==1)
        {
            result.push_back(iv[--i]);
            i++;
        }
        while(i iv[i])
        {
            flag=2;//递减标记
            temp=iv[i];
            i++;

        }
        if(flag==2)
        {
            result.push_back(iv[--i]);
            i++;
        }
    }
    for(vector<int>::size_type j=0; j)
        cout << result[j] << " ";
}

转载于:https://www.cnblogs.com/zjhnl/archive/2012/09/29/2707962.html

你可能感兴趣的:(输出波峰波谷)