精华内容
下载资源
问答
  • 多关键字排序 多关键字排序 多关键字排序 多关键字排序
  • 多关键字排序

    2014-04-01 17:01:25
    实现从文件中读取数据进行排序,也可以实现自己输入数据进行多关键字排序
  • Excel 如何排序与多关键字排序

    千次阅读 2019-08-28 17:08:17
    Excel 如何排序与多关键字排序 在使用Excel时,对每项录入了数据后,需要对它们进行排序,如何实现呢? 唯一关键字排序 排序前原表格如下: 我们需要以“总分”为关键字排降序, 1、选定“总分”所在的列; 2、...

    Excel 如何排序与多关键字排序

    • 在使用Excel时,对每项录入了数据后,需要对它们进行排序,如何实现呢?

    唯一关键字排序

    • 排序前原表格如下:在这里插入图片描述
    • 我们需要以“总分”为关键字排降序,
    • 1、选定“总分”所在的列;
      在这里插入图片描述
    • 2、点击工具栏右上角的“排序和筛选”里面的“降序”;
      在这里插入图片描述
    • 3、最后点击“排序”即可。
      在这里插入图片描述
    • 结果就是这样的:
      在这里插入图片描述

    多关键字排序

    • 对于总分相同的,我们想按照“语文”降序排列,
    • 难道需要对于每一部分总分相同的,都按“语文”分别排序一次吗?
    • 不需要,可以一次排序搞定!!!
    • 1、选定整块区域;
      在这里插入图片描述
    • 2、点击右上角“排序和筛选”里面的“自定义排序”;
      在这里插入图片描述
    • 3、根据需要依次添加关键字;
      在这里插入图片描述
    • 4、最后点击“确定”。
      在这里插入图片描述
    • 就可以达到想要的效果了!!!
      在这里插入图片描述
    • 以上教程希望能对你有所帮助。
    展开全文
  • 关键字排序

    2017-06-02 15:40:15
    多关键字排序
  • 多关键字排序的实现

    2013-03-15 11:52:06
    武汉理工大学数据结构课程设计,多关键字排序的实现
  • 多关键字排序实验

    2018-07-08 00:40:00
    了解关键字的使用范围,并实现对牌照按多关键字排序后的快速查找。 【问题描述】 为加快速度需先对数据记录按关键字排序,在汽车数据模型中,汽车是关键字,而且是具有结构特点的一类关键字。因为汽车牌照是汉字...

    一、实习目的

        了解多关键字的使用范围;编写程序实现对汽车牌照的排序。

    二、实验原理

    了解多关键字的使用范围,并实现对牌照按多关键字排序后的快速查找。

    【问题描述】

    为加快速度需先对数据记录按关键字排序,在汽车数据模型中,汽车是关键字,而且是具有结构特点的一类关键字。因为汽车牌照是汉字,字母和数字混编的,例如:AD7328。这种记录集合是一个适于利用多关键字进行排序的典型例子。

    【基本任务】

    (1)利用链式基数排序方法实现排序。

    (2)在排序的基础上,利用二分查找的思想,实现对汽车记录按关键字的查找。

    三、参考程序

    #include<stdio.h>
    #include <stdlib.h>

    struct sort{
    int zi[3];
    };
    sort a[8]={{1,2,3},{1,6,3},{1,0,9},{7,3,1},{2,3,9},{1,4,5},{7,1,8},{2,3,8}};
    void paixu(sort *a,int radix,int size,int k){
    int *temp,i,number=0,number1=0,j,z;
    sort *b;
    z=k;
    temp=(int *)malloc(radix*sizeof(int));
    b=(sort *)malloc(number*sizeof(sort));
    while(k--){
    for(i=0;i<radix;i++){
    temp[i]=0;
    }
    for(i=0;i<size;i++){
    number=a[i].zi[k];
    temp[number]=temp[number]+1;
    }
    printf("\n----\n");
    for(i=0;i<radix-1;i++){
    temp[i+1]=temp[i+1]+temp[i];
    }

    for(i=0;i<size;i++){
    number1=a[i].zi[k];
    temp[number1]=temp[number1]-1;
    b[temp[number1]]=a[i];


    }


    for(i=0;i<size;i++){
    a[i]=b[i];
    }

    printf("\n---------------\n");
    if(k==0)
    break;

    }
    for(i=0;i<size;i++){
    for(j=0;j<z;j++)
    printf("%d",a[i].zi[j]);
    printf("\n");
    }
    free(temp);
    free(b);


    }
    int main(){

    int size=8,k=3,radix=101;

    paixu(a,radix,size,k);
    return 0;
    }

    转载于:https://www.cnblogs.com/huifeidezhuzai/p/9278967.html

    展开全文
  • 数据结构 多关键字排序

    千次阅读 2017-12-31 16:12:56
    多关键字排序 一、实验目的   了解关键字的使用范围;编写程序实现关键字的排序。 二、实验原理 依次根据某位进行排序,排好序后更新a[i],最后得到的就是根据每位排好序的a[i]  LSDSort()函数:cnt...

    实验7 多关键字排序

    一、实验目的 

        了解多关键字的使用范围;编写程序实现多关键字的排序。

    二、实验原理

    依次根据某位进行排序,排好序后更新a[i],最后得到的就是根据每位排好序的a[i]

        LSDSort()函数:cnt数组用来存放某位的个数,tmp数组存放a[i]数据,根据cnt[ ] 中的数据得到tmp中存放哪一个a[i]

    三、参考程序

    #include <stdio.h>
    #include <stdlib.h>

    #define RADIX 101 //基数,分数有 101 种可能 
    #define K 3 //关键字,有 3 个关键字 

    struct tagMark
    {
    int key[K]; // K 个关键字 
    }a[8] = {{1,2,3}, {0,2,3}, {5,4,6}, {6,2,6}, {4,4,1}, {0,1,4},
    {60,30,6}, {60,20,6}};

    /*a:待排序的数组地址 
    size:元素数量 
    radix:基数 
    k:关键字数量 
    */

    void LSDSort(struct tagMark *a, int size, int radix, int k)
    {
    int *cnt = (int *)malloc(sizeof(int) * radix), i;
    struct tagMark *tmp = (struct tagMark *)malloc(sizeof(struct tagMark) * size); //待排序的记录的数量 
    while (k--)
    {

    //初始化cnt[i]
    for (i = radix-1; i >= 0; --i)
    cnt[i] = 0;

     

    //计数
    for (i = size; i > 0; )
    ++cnt[a[--i].key[k]];

    //累加cnt
    for (i = 0; i < radix; ++i)
    cnt[i + 1] += cnt[i];

    //按顺序把a[i]放入tmp
    for (i = size; i > 0; )
    {
    --i;
    tmp[--cnt[a[i].key[k]]] = a[i];
    }

    //a[i]按照某一位排好的序,重新排序
    for (i = size; i > 0; )
    {
    --i;
    a[i] = tmp[i];
    }
    }
    free(cnt);
    free(tmp);
    }

    int main()
    {
    int i, j;
    LSDSort(a, 8, RADIX, K); // 8 个记录进行排序

    //输出 
    for (i = 0; i < 8; ++i, putchar('\n'))
    for (j = 0; j < K; ++j)
    printf("%d ", a[i].key[j]);
    return 0;
    }

     

     

     

    展开全文
  • 多关键字排序。c++

    2020-02-25 18:20:12
    基于多关键字排序/基数排序的长方形排列。

    多关键字排序

    一个长方形有长和宽,分别设为 a 和 b,现在想对一些长方形进行排序。
    有一种新的排序方法。如下:
    我们按照两个长方形的a-b值来对他们按降序排序,如果有重复,按照b值升序排序,如果还有重复,按照输入的顺序排序。

    也就是说,是多关键字排序:

    第1关键字,a-b,降序;

    第2关键字,b,升序;

    第3关键字,输入的顺序,升序;

    输入有多组测试数据(大概100组),每一组测试数据第一行先给出一个整数n,代表有n个长方形需要被排序。
    长方形被从0到n−1标号。
    接下来n行,每一含有两个整数代表每一个长方形a和b
    第i行描述长方形i−1的信息。
    处理到文件末尾。
    所有整数都在[1,100]的范围内。
    对于每一个数据,在一行中输出排好序之后的长方形ID,注意每两个 ID 【之间!】有一个空格,其他地方不要有多余空格

    sample input:
    2
    100 1
    1 2
    3
    100 50
    3 4
    1 2

    sample output:
    0 1
    0 2 1

    思路:
    定义结构体,里面存储对应长方形的三个关键字。
    注意题目中多组测试数据的输入方法。
    对于多关键字排序,也就是基数排序,需要编写对应的cmp函数。
    注意sort函数的用法:sort(begin,end,compare)

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    struct code
    {
    	int x,y;//长宽
    	int a;//a=x-y;
    	int i;//i顺序,第三关键字 
    }arr[10000];
    bool compare(code m,code n)
    {
    	if(m.a!=n.a)	return m.a>n.a;
    	if(m.y!=n.y)	return m.y<n.y;
    	return m.i<n.i;
    }
    int main()
    {
    	int n;
    	while(scanf("%d",&n)!=EOF)
    	{
    		for(int i=0;i<n;i++)
    		{
    			int w,e;
    			cin>>w>>e;
    
    				arr[i].x=w;
    				arr[i].y=e;
    				arr[i].a=arr[i].x-arr[i].y;
    				arr[i].i=i;
    		}
    		sort(arr,arr+n,compare);
    		for(int i=0;i<n-1;i++) cout<<arr[i].i<<" ";
    		printf("%d\n",arr[n-1].i);
    	}
    	return 0;
    }
    展开全文
  • excel多关键字排序 条件排序

    千次阅读 2018-03-26 16:32:42
    今天一做生意的朋友来问关于excel中排序的问题。他的表格内容类似下图诉求是在单号进行排序后的基础上,相同的单号内要按照发货日期进行排序。经过简单学习后,归纳总结如下。对于排序项是excel已支持的排序分类,...
  • 简要阐述: 在解决问题的时候,经常会有一些排序问题。...多关键字排序中sort()函数和结构体的使用: 1、在结构体中重载比较符" < ": struct node{ int a,b,c; bool operator < (const ...
  • 本资源是一个多关键字排序的程序设计,里面包含冒泡排序、快速排序、基数排序的完整代码实现
  • 多关键字排序LSD实现

    2010-10-13 11:31:05
    简单mfc 实现 的多关键字 排序,按照lsd 算法实现。写得不好,请提供修改意见。!!!!
  • 数据结构——多关键字排序 问题描述:关键字的排序有其一定的实用范围。例如:在进行高考分数处理时,除了需对总分进行排序外,不同的专业对单科分数的要求不同,因此尚需在总分相同的情况下,按用户提出的单科...
  • 数据结构课程设计多关键字排序 利用多关键字排序进行高考分数处理,除了需对总分进行排序外,不同的专业对单科分数的要求不同,因此在总分相同的情况下,按用户提出的单科分数的次序要求排出考生录取的次序 内包涵...
  • 结构体+多关键字排序

    2019-02-12 23:44:59
    原题https://www.luogu.org/problemnew/show/P1068 题解 结构体+多关键字排序
  • 我们先看看简单的2个关键字排序,有以下两种方式: 先进行第一关键字排序,再进行第二关键字排序; 先进行第二关键字排序,再进行第一关键字排序。 这两种排序顺序,结果会有什么不同吗?很显然,靠后面的关键字...
  • 在进行高考分数处理时,除了需对总分进行排序外,不同的专业对单科分数的要求也不同,因此尚需在总分相同的情况下,按用户提出的...排序方法有很种,这里就要设计程序比较一下内部排序和多关键字排序所用时间的长短。
  • EXCEL表格,有多个列,如何根据这些列的内容,实现多关键字排序
  • 第二次分配,收集根据主关键字(十位)进行,由于十位不同时,可以迅速判断关键字的前后关系,但十位相同时,才需考虑位,由于在前一趟处理中关键字已经按照排序,所以经过第二次的分配,收集能达到最终排序的...
  • 以列表有两列为例,我们需要按照两列排序,可以利用sorted和lambda组合 l = [['a', 2], ['c', 1], ['d', 4], ['b', 2]] sorted(l, key = lambda x: (x[1], x[0]), reverse = True) 然后结果是 [['d', 4], ['b', 2]...
  • 1,直接上例子 文本sort.txt中的内容:  A_1  A_2  A_3  A_10  A_6  A_4  A_9  B_10  A_7  B_1  B_8  A_13 ...希望排序后的结果是按"_"前的关键字(也就是,A,B)先排序,在其
  • 排序9.6 基数排序9.6.1 多关键字排序9.6.2 链式基数排序 9.6 基数排序 基数排序又被称为桶排序。与前面介绍的几种排序方法相比较,基数排序和它们有明显的不同。前面所介绍的排序方法都是建立在对数据元素关键字进行...
  • 1 二分排序的进阶:三关键字排序:成绩相同的时候,输入较早(编号较小)的排在前面。 上代码: //luogu1093:奖学金:多关键字排序 //快排的模板+情况判断 #include&lt;cstdio&gt; co...
  • 利用多关键字排序进行高考分数处理,除了需对总分进行排序外,不同的专业对单科分数的要求不同,因此在总分相同的情况下,按用户提出的单科分数的次序要求排出考生录取的次序。 假设待排序的记录数不超过1000,表中...
  • 846. 多关键字排序

    2018-06-21 17:02:48
    根据第一关键字对数组进行排序(降序),如果第一关键字相同则根据第二关键字进行排序(升序).您在真实的面试中是否遇到过这题? 是样例给出 [[2,50],[1,50],[3,100]],返回 [[3,100],[1,50],[2,50]]...
  • 多关键字排序(java)

    2019-09-11 09:03:18
    给定n学生的学号(从1到n编号)以及他们的考试成绩,表示为(学号,考试成绩),请将这些学生按考试成绩降序排序,若考试成绩相同,则按学号升序排序。 public int[][] multiSort(int[][] array) { // Write your ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 351,950
精华内容 140,780
关键字:

多关键字排序3个