//由大到小
//快速排序(待排序数组,左侧起点,右侧起点)
void quickSort(int *array, int l, int r)
{
if ( l >= r) return;
int i = l,j = r;
int temp;
while (i != j)
{
for ( ;j>i;j--)
{
if (array[j] > array[i])
{
temp = array[j];
array[j] = array[i];
array[i] = temp;
break;
}
}
for ( ; i<j;i++)
{
if (array[j] > array[i])
{
temp = array[j];
array[j] = array[i];
array[i] = temp;
break;
}
}
}
quickSort(array, l, i-);
quickSort(array, j+, r);
}
//成绩排名处理,(同分数同名次,后面的人顺延,99 99 95 60,排名为 1 1 3 4)
// 输入参数:成绩数组;以分数为下标来记录该分数的排名的预存数组
void dealRanks(int * grade, int *ranks)
{
quickSort(grade, , N-);
for (int i = ; i <; i++)
{
ranks[i] = ;
}
int rank=,temp = -;
for (int i = ; i < N ; i++)
{
if (temp != grade[i])
{
ranks[grade[i]] = rank;
temp = grade[i];
}
rank++;
}
}

最新文章

  1. mysql百万级分页优化
  2. ios控制器生命周期详解
  3. SDWebImage清除图片缓存
  4. 【leetcode】Evaluate Reverse Polish Notation(middle)
  5. Hadoop开发中,如何开启、关闭控制台打印调试信息
  6. 【LeetCode OJ】LRU Cache
  7. easyui反选全选和全不选代码以及方法的使用
  8. Unity3d 实现顶点动画
  9. GEF开发eclipse插件,多页编辑器实现delete功能
  10. SpringMVC创建HelloWorld程序
  11. IBM developer:Kafka ACLs
  12. Android 开发 VectorDrawable 矢量图 (二)了解矢量图属性与绘制
  13. RNN/LSTM/GRU/seq2seq公式推导
  14. JustOj 2039: 成绩排名 (结构体排序)
  15. postman 断点
  16. VS2013的安装与测试
  17. 〖Linux〗多个JDK版本之间快速切换
  18. vim在系统剪切板的复制与粘贴
  19. 用highcharts展现你的数据
  20. arm linux下启动ftp服务

热门文章

  1. 基于Elastalert的安全告警剖析
  2. 用django2.1开发公司官网(上)
  3. rsync实时同步服务部署
  4. BOM:浏览器对象模型之浏览器剖析入门
  5. [Android] Android RxJava2+Retrofit2+OkHttp3 的使用
  6. JavaScript 的正则也有单行模式了
  7. shell 批量获取ip 和主机名
  8. win10下maven的安装与配置
  9. (一)Java工程化--Maven基础
  10. TortoiseGit与GIt生成ssh秘钥添加到github账号的简单方法!简单使用