zoukankan      html  css  js  c++  java
  • QuickSort模板

    #include <iostream>

    using namespace std;

    struct node

    {

             int index;

             char name[20];

    };

    node data[100];

    template<typename T>

    void QuickSort(T* Array,int left,int right,bool (*com)(T* a,T* b))

    {

             int low,high;

             T key;

             if(left>=right) return;

             low=left,high=right;

             key=Array[left];

             while(low<high)

             {

                       while(low<high && com(&Array[high],&key)) high--;

                       Array[low]=Array[high];

                       while(low<high && com(&key,&Array[low])) low++;

                       Array[high]=Array[low];

             }

             Array[low]=key;

             QuickSort(Array,left,low-1,com);

             QuickSort(Array,low+1,right,com);

    }

    bool com(int* a,int* b)

    {

             return *a>=*b;

    }

    bool com1(node* a,node* b)

    {

             return a->index> b->index;

    }

    int main()

    {

             int n,i;

             while(scanf("%d",&n)!=EOF)

             {

                       for(i=0;i<n;i++) scanf("%d %s",&data[i].index,data[i].name);

                       QuickSort(data,0,n-1,com1);

                       for(i=0;i<n;i++) printf("%d %s ",data[i].index,data[i].name);

                       printf(" ");

             }

             return 0;

    }

  • 相关阅读:
    【开发技术】Eclipse设置软tab(用4个空格字符代替)及默认utf-8文件编码(unix)
    【开发技术】Xcode3与xcode4.2模板对比(Xcode4.2开发之一些变化)
    cobol
    头文件的相互包含会导致错误
    ndk eclipse集成
    为何要用到NDK?
    Android之NDK开发
    一个完整的NDK编译过程
    NDK中 .so文件的加载
    Android.mk 变量解释
  • 原文地址:https://www.cnblogs.com/yu-chao/p/3160288.html
Copyright © 2011-2022 走看看