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;

    }

  • 相关阅读:
    毕业3年在北京买房,他是怎么赚钱攒钱的?
    Windows Server 2008 如何在IIS中添加MIME类型
    IIS下无法访问.ini后缀文件
    新的一年,我们如何才能收获满满,不留太多遗憾呢?
    你百分之九十九的问题都是因为懒
    为什么你容许陌生人成功,却无法忍受身边人发达
    堆排序
    计数排序
    直接插入排序
    冒泡排序
  • 原文地址:https://www.cnblogs.com/yu-chao/p/3160288.html
Copyright © 2011-2022 走看看