首页 > 其他分享 >王道数据结构:设线性表中每个元素有两个数据项k1和k2,现对线性表按一下规则进行排序:先看数据项k1,k1值小的元素在前,大的在后

王道数据结构:设线性表中每个元素有两个数据项k1和k2,现对线性表按一下规则进行排序:先看数据项k1,k1值小的元素在前,大的在后

时间:2023-09-17 11:44:27浏览次数:39  
标签:数据项 10 20 线性表 k2 k1 15 排序

题目:
设线性表中每个元素有两个数据项k1和k2,现对线性表按一下规则进行排序:先看数据项k1,k1值小的元素在前,大的在后;在k1值相同的情况下,再看k2,k2值小的在前,大的在后。满足这种要求的排序方法是( )
A.先按k1进行直接插入排序,再按k2进行简单选择排序
B.先按k2进行直接插入排序,再按k1进行简单选择排序
C.先按k1进行简单选择排序,再按k2进行直接插入排序
D.先按k2进行简单选择排序,再按k1进行直接插入排序

答案:D

 

分析:

1.首先要明确的是:对k1、k2都要进行排序,这种排序类似结构体排序,例如:学生有学号、成绩,成绩不同时按成绩排序,成绩相同时按学号排序。

2.然后需要明确的是先排k1还是k2。根据题目描述“在k1值相同的情况下,再看k2”,也就是说明k1的  重要性/优先级  比k2高,也就是不能因为k2的排序结果改变了k1。如果先排k1再排k2,有可能会改变k1的顺序,那么就要先排k2再排k1

可以将k1、k2看作基数排序的十位数和个位数,在十位相同的情况下需要比对个位数。

例如序列为:{10,15,20,25}。

>>>如果先按k1排序得到{10,15,20,25},再按k2排序得到{10,20,15,25},如果k2是不稳定的算法还可能得到{20,10,25,15}。所以先k1再k2,得不到目标的排序结果。

>>>如果先按k2排序得到{10,20,15,25},再按k1排序得到{10,15,20,25},如果k1是不稳定的算法还可能得到{15,10,25,20}。所以先k2再k1,而且要求k1必须是稳定的算法。所以D

标签:数据项,10,20,线性表,k2,k1,15,排序
From: https://www.cnblogs.com/jinziguang/p/17708034.html

相关文章

  • 安装JDK1.8(也叫JDK8)
    过程先去官网搜JDK8找到jdk-8u383类似这个然后看好版本(如windows64位)下载就直接下载都是下一步没别的特殊的,但是记住安装路径最重要的配置环境变量1、我的电脑-->右键-->属性-->高级系统设置2、环境变量-->新建JAVA_HOME3、配置环境变量里的path,新建%JAVA_HOM......
  • 支持JDK19虚拟线程的web框架,之二:完整开发一个支持虚拟线程的quarkus应用
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本篇是《支持JDK19虚拟线程的web框架》系列的中篇,前文咱们体验了有虚拟线程支持的web服务,经过测试,发现性能上它与其他两种常见web架构并无明显区别,既然如此,还有......
  • 大数据平台建设方案?如何进行大数据平台创新建设?大数据项目实施方法?
    大数据平台建设方案、创新建设和项目实施方法如下所述:1.大数据平台建设方案:  -需求分析:明确业务需求和目标,确定需要处理的数据类型、规模和频率。  -数据采集与存储:选择适合的数据采集工具和技术,设计数据存储方案,考虑数据的结构化和非结构化特点。  -数据处理与......
  • hashmapjdk1.7死循环问题
    hashmap是在jdk1.7是数组+链表,通过hash计算出数组下标位置以后,如果同一个位置有多个元素,放在链表中,在多线程插入,并同时扩容的并发环境会出现死循环问题头插入法在维护链表元素的过程中,有一个head指针,指向第一个元素,没有尾部指针(未插入需要维护一个尾部指针,才能快递定位在哪里插......
  • 高亮LED数码管显示驱动IC-VK16K33 A/B/C/BA/AA 驱动电流大 质量稳定 适用于计量插座,数
    概述VK16K33是一种带按键扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有数据锁存器、键盘扫描、LED驱动模块等电路。数据通过I2C通讯接口与MCU通信。SEG脚接LED阳极,GRID脚接LED阴极,可支持16SEGx8GRID的点阵LED显示面板。最大支持13×3的按键。内置上电复位电路,整体闪烁频......
  • 线性表——链式存储
    单链表(有头结点)#include<stdlib.h>//定义typedefstructLNode{intdata;//数据域structLNode*next;//指针域指向下一个结点,所以是structLNode类型}LNode,*LinkList;//*LinkList用于表示这是一个指向structLNode类型的指针//初始......
  • jdk 64位下载_jdk1.7 64位官方最新版下载 新功能介绍
    Java SEDevelopmentKit中文版是一款十分好用的编程工具,这款软件可以帮助用户在使用电脑的时候更好的进行编程,而且在Java17发行版中,官方改进了增量性能、稳定性和安全性改进。有需要的小伙伴们快来下载体验吧!软件地址:看置顶贴JDK官方版使用说明第一步,直接点击下一步第二步,文件保......
  • C数据结构-线性表之顺序表
    什么是线性表线性表的插入元素线性表的删除元素线性表顺序存储的缺点线性表的特点1.线性表的实例首先我们创建3个文件,分别如下:liner_data--sqlist.c--sqlist.h--test.csqlist.h//.h文件中定位数据的结构以及函数的方法typedefintdata_t;#defineN128......
  • 高亮LED数码管显示驱动IC-VK16K33/AA/B/BA/C 多种封装 质量稳定 适用于计量插座,数字闹
    概述VK16K33是一种带按键扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有数据锁存器、键盘扫描、LED驱动模块等电路。数据通过I2C通讯接口与MCU通信。SEG脚接LED阳极,GRID脚接LED阴极,可支持16SEGx8GRID的点阵LED显示面板。最大支持13×3的按键。内置上电复位电路,整体闪烁频......
  • Ubentu 16.04.2 LTS安装mysql,jdk1.8
    一、网络设置1、网络设置sudovim/etc/network/interfaces文件中写入以下内容,写完后wq保存退出。#设置网卡名称autoeth0#设置静态IP,如果是使用自动IP用dhcp,后面的不用设置ifaceeth0inetstatic#设置IP地址addressxxx.xxx.xxx.xxx#设置子网掩码netmaskxxx.xxx.xxx.......