那什么。。。。Google炮灰纪念

来源:互联网 发布:js设置div里面的内容 编辑:程序博客网 时间:2024/06/10 17:04
#include<iostream>using namespace std;void sort(int a[],int n){     int odds[2000] = {0};     int evens[2000] = {0};          for(int i=0;i<n;i++)     {         if(a[i]%2==0)            evens[a[i]+1000]++;         else            odds[a[i]+1000]++;             }     int oddsIter = 0;     int evenIter = 1999;     for(int i=0;i<n;i++)     {        if(a[i]%2==0)        {           while(evens[evenIter]==0||evens[evenIter]==-1)           {                evenIter--;                                                     }           evens[evenIter]--;             a[i] = evenIter-1000;                     }else        {           while(odds[oddsIter]==0||odds[oddsIter]==-1)           {                oddsIter++;                                                       }           odds[oddsIter]--;           a[i] = oddsIter-1000;             }              }          for(int i=0;i<n;i++)        cout<<a[i]<<" ";     cout<<endl;    }int main(){     int num;     cin>>num;          for(int i=0;i<num;i++)     {         int count;         cin>>count;         int* a = new int[count];         for(int j=0;j<count;j++)            cin>>a[j];         sort(a,count);            }           cin.get();     cin.get(); }

这个是第三条奇偶数原位置排序。




第二条二叉树那个:根据下标,如果根从1开始的话,那么左子树下标是2n,右子树是2n+1,那么输入的n不停除以2根据奇偶就可以确定路径,保存下来路径就从头开始计算就可以得到对应的p/q了。。


第一个,两指针一个指向头一个后移,一样的就计数器加1.不一样就输出将p移到q的位置,一次遍历即可。


第四第五。。不会做。。。果然炮灰。。。。


留个纪念。。。。。。

原创粉丝点击