您的位置:首页 > 运维架构 > Shell

UVa 10152 - ShellSort 龟壳排序

2014-03-10 16:26 591 查看
自己一开始用最笨的方法,一个一个的移动,结果费了半天的时间还超时了,果断不知道怎么做了,上网参考了一下大神的代码,才知道这题如此的坑爹。。还是水平不行,别的不多说了

参考:http://www.cppblog.com/wuxu/archive/2011/11/22/160719.aspx

#include<stdio.h>
#include<string.h>
#include<iostream>
using namespace std;
#define MAX_SIZE 1000
#define LEN 100
int main()
{
    char one[MAX_SIZE][LEN],two[MAX_SIZE][LEN];
    int cases,N,n,i,j;
    scanf("%d",&N);
    while(N--)
    {
        cin>>n;
        getchar();
        for(i=0;i<n;i++) /*输入待排数列*/
            gets(one[i]);
        for(i=0;i<n;i++) /*输入目标数列*/
            gets(two[i]);
        i=n-1;
        j=n-1;
        while(i>=0)
        {
          if(!strcmp(one[i],two[j]))
          j--;
          i--;
        }
        /*一样的时候目标数列栈底指针才移动*/
        for(;j>=0;j--)
        printf("%s\n",two[j]);
        printf("\n");
    }
    return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: