标签:style class blog code color 使用
给定一个数组input[] ,如果数组长度n为奇数,则将数组中最大的元素放到 output[] 数组最中间的位置,如果数组长度n为偶数,则将数组中最大的元素放到 output[] 数组中间两个位置偏右的那个位置上,然后再按从大到小的顺序,依次在第一个位置的两边,按照一左一右的顺序,依次存放剩下的数。
例如:input[] = {3, 6, 1, 9, 7} output[] = {3, 7, 9, 6, 1}; input[] = {3, 6, 1, 9, 7, 8} output[] = {1, 6, 8, 9, 7, 3}
函数接口 void sort(int input[[, int n, int output[])
#include<algorithm> using namespace std; bool cmp(int a,int b) { return(a>b); } void sort(int input[], int n, int output[]) { /*int small ; //冒泡排序法 for(int i=1;i<n;i++) { for(int j=0;j<n-i;j++) { if(input[j]<input[j+1]) { int temp = input[j]; input[j] = input[j+1]; input[j+1]=temp; } } }*/ sort(input,input+n,cmp);//在自己写的函数名是sort的情况下,也可以使用#include<algorithm>里面的sort函数 for(int i=0;i<n;i++) cout<<input[i]<<" "; int mid = n/2; output[mid]=input[0]; int iBig = mid-1,iSmall = mid+1; for(int i=1;i<n;) { if(iBig>=0) output[iBig--]=input[i++]; if(iSmall<n) output[iSmall++]=input[i++]; } }
标签:style class blog code color 使用
原文地址:http://www.cnblogs.com/Xylophone/p/3809705.html