H面试程序(16): 简单选择排序

大厂嵌入式面试常考八股文及算法 1.指向已被释放或无效的内存地址的指针是野指针。互斥锁是一种用于线程同步的机制,用于确保同一时间只有一个线程访问共享资源。多态是面向对象编程中的一种特性,它允许以一种统一的方式处理不同类型的对象,通过相同的接口可以表现出不同的行为。大小端(Endian)指的是在计算机存储和处理多字节数据时,字节的存储顺序。大端序(Big Endian):高位字节存储在低地址,低位字节存储在高地址。类似于将数字的高位放在左边,低位放在右边的表示方式。例如整数值0x12345678在内存中按照大端序排列为。 阅读详情

 

#include<stdio.h>
#include<assert.h>

void display(int * a, int n) 
{   
	assert(a);
	for(int i = 0; i < n; i++)
	{
		printf("%d,",a[i]);
	}
	printf("\n");
}

void swap(int * a, int * b)
{   
	assert(a);
	assert(b);
	int temp;
	temp = *a;
	*a = *b;
	*b = temp;
}

void select_sort(int * a, int n)
{  
	assert(a);
	int i, j,min;
	for( i = 0; i < n-1  ; i++) //i 0 ~ n-2
	{
		min = a[i]; //每次选择一个作为最小值
	
		for( j = i; j < n; j++) // j i ~ n-1
		{
			if(a[j] < min)
			{
			   swap(&(a[j]), &(a[i]));  
			}
		}
	}
}

int main()
{   
	int a[10] ={2, 1, 3, 4, 5, 7,2,3, 6, 1};
	int num = sizeof(a)/sizeof(int);
	printf("before_sort:");
	display(a, num);
	select_sort(a,num);
	printf("after_sort:");
	display(a, num);
	return 0;
	
}


 

#include <stdio.h>
#include <time.h>

//交换两个数据
void swap(int *a, int *b)
{
	int temp;
	temp = *a;
	*a = *b;
	*b = temp;
}


//显示交换后的数组
void display_array( int a[], int n )
{
    int i;
    for( i = 0; i < n; i++ )
        printf( "%d ", a[i] );
}



//选择排序
void select_sort( int a[], int n )
{

	int i ,j;
	
	for(i = 0; i<n-1 ; i++ )    
	{                                  
	    int min = a[i];     //每次都设定最小的数,i 0 ~ 8
		for(j =i+1; j <n; j++)  // 将a[i]~ a[9]的数于当前最小的数进行比较,如果小于当前最小数就交换
		{
			if(a[j] < min)
			{	
				swap(&(a[j]), &(a[i]));
			}
		}
	}

}


int main()
{
	clock_t start, finish;
	start = clock();

    int  n = 10;
    int a[] = { 2, 1, 3, 4, 5, 7, 6, 8 ,2,4};
    printf( "Before sorting: " );
    display_array( a, n );
    

    select_sort( a, n );
    printf( "After sorting: " );
    display_array( a, n );
    finish = clock();
    printf("\n本次计算一共耗时: %f秒\n\n", (double)(finish-start)/CLOCKS_PER_SEC);
    return 0;
}


 

16、排序算法:原理、应用与挑战 本文深入探讨了排序算法的原理、应用场景与实际挑战,涵盖经典算法如快速排序、归并排序和堆排序的性能分析与优化策略。文章结合实战案例,讲解外部排序在大数据处理中的关键作用,并讨论基于比较排序的下界理论与非比较方法(如哈希和基数排序)的突破可能。同时提供了丰富的应用练习与面试常见问题解析,涉及集合操作、区间处理、k最小元素查找等典型场景。此外,还介绍了排序算法在电商、搜索引擎和数据库中的实际应用,以及未来在并行计算和量子计算方向的发展趋势。通过复杂度对比、稳定性分析和数据结构选择建议,帮助读者全面掌握排序算法的核 阅读详情

相关推荐

简单选择排序

简单选择排序

【排序算法】排序算法整理

直接插入排序 #include<stdio.h> void InsertSort(int *array, int length) { int i,j,temp; for(i=1;i<length;i++) { temp = array[i]; for(j=i-1;j>=0;j--) { if(temp<array[j]) { array[j+1] = array[j]; }else{ break; } } ar

诗与浪子的博客 321

【微知】关于GB200 NVL72服务器的一些信息?(36CPU72GPU;LPDDR5X 17T;HBM3e 13.5T;5代NVlink 1.8TB; 720P算力FP8;120Kw)

本文仅根据官网介绍分析,存在纰漏仅供参考。

技术札记 5395

排序

冒泡法排序(C语言)#include"stdio.h"#define True 1#define False 0void main(){   int a[7]={9,12,6,15,3,16,10};   int i,temp;   for(i=1;i  {    int j;    int ok=True;           for(j=0;j   {     if(a[j]>

我的仓库 My Storehouse 1334

Veritas NetBackup 10.1 Windows安装指南:从账户配置到完整部署

本文详细介绍了Veritas NetBackup 10.1在Windows系统上的完整安装流程,从账户配置到部署验证。重点讲解了创建专用服务账户、安装组件选择、许可证输入等关键步骤,并提供了常见问题排查和进阶配置建议,帮助用户顺利完成企业级备份解决方案的部署。

weixin_26765287的博客 454

深入解析Flex NOC总线驱动的实时带宽与延迟优化策略

本文深入解析了Flex NOC总线驱动的核心价值与优化策略。通过解读`/proc/noc/real_time`中的实时带宽与延迟数据,并结合`sysfs`接口进行动态QoS调优,可以有效解决芯片内部数据拥堵问题。文章以智能摄像头和算力盒子的实际案例,详细说明了如何通过优先级调整、带宽限制和参数优化,提升系统在复杂任务下的实时性与稳定性。

weixin_29289821的博客 284

选择排序

//选择排序 #include&lt;stdio.h&gt; int select_sort(int a[],int n) { int i,j,temp; for(i = 0; i &lt; n-1;i++) { for(j = i+1; j &lt; n;j++) { if(a[i] &gt; a[j]) { temp = a[i]; a[i] = a[j]; ...

weixin_33826609的博客 195

【CSP-J/S】复赛注意事项 上机文件组织形式

每年/S 复赛都有很多同学因为一些小失误导致一年的努力付之东流。Tony老师整理了一些复赛容易踩坑的点,或许对你有帮助!

星卯教育-信奥教练tony 1万+

C语言排序实例(选择、冒泡、插入、折半、快速)

C语言排序实例(选择、冒泡、插入、折半、快速): void select_sort(int *a, int n); //选择法排序 void bubble_sort(int *a, int n); //冒泡法排序 void insert_sort(int *a, int n); //插入法排序 void shell_sort(int *a, int n); //折半排序(希尔排序) void quick_sort(int *a, int low, int high); //快速排序

秋叶原 && Mike || 麦克 2713

pt100和max31865测室温跳变比较大,会从23.04跳到23.47,23.75反复跳变超过了0.5的误差范围,在VDD和GND之间加上0.1和10的滤波电容也不行,如何解决?

🏆 本文收录于《全栈Bug调优(实战版)》专栏,致力于分享我在项目实战过程中遇到的各类Bug及其原因,并提供切实有效的解决方案。无论你是初学者还是经验丰富的开发者,本文将为你指引出一条更高效的Bug修复之路,助你早日登顶,迈向财富自由的梦想🚀!同时,欢迎大家关注、收藏、订阅本专栏,更多精彩内容正在持续更新中。让我们一起进步,Up!Up!Up!    备注: 部分问题/难题源自互联网,经过精心筛选和整理,结合数位十多年大厂实战经验资深大佬经验总结所得,数条可行方案供所需之人参考。

**My Coding Family** 2087

自动权重化图卷积网络(Auto-Weighted GCN)算法在反洗钱识别中的应用及代码实现

该算法通过自动学习节点之间的权重信息,能够更好地捕捉AML数据中的关系和结构,从而提高反洗钱识别的准确性和效果。传统的AML识别方法通常依赖于专家定义的规则和手动提取的特征,但这些方法在应对大规模和复杂的数据时存在一定的局限性。GCN通过在图上执行卷积操作来捕捉节点之间的关系和结构信息,从而实现对图数据的学习和表示。自动权重化图卷积网络是一种基于GCN的改进算法,能够自动学习节点之间的权重信息,从而更好地捕捉图中的关系。利用自动计算的权重值执行图卷积操作。根据节点之间的相似度,计算每个节点的权重。

syntax_api860的博客 377

程序员面试金典(第 6 版)(简单篇)

程序员面试金典(第 6 版)(简单篇)

qq_39493185的博客 1946

Python爬虫实战:研究Pandas,构建车质网各车型数据采集和分析系统

研究结果表明,通过网络爬虫技术可以有效地获取公开的汽车投诉数据,这些数据经过适当的清洗和处理后,可以揭示出丰富的汽车质量信息。)作为国内专业的汽车质量投诉受理平台,自 2010 年成立以来,已累计接收消费者投诉信息超过 200 万条,这些数据包含了车型、投诉时间、投诉问题、处理状态等多维度信息,具有极高的分析价值。:通过对车质网数据的分析,能够挖掘出有价值的汽车质量信息,为消费者购车提供参考,为汽车厂商改进产品质量和服务提供依据,同时也能为相关监管部门提供数据支持。

ylfhpy的博客 938

程序员面试金典(第 6 版)

程序员面试金典(第 6 版) 力扣 (LeetCode)

[ 25'h ] 1587

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

2022年Java秋招面试,程序员求职必看的Spring Boot面试题

Spring Boot 是一套快速开发框架,随着微服务架构应用不断普及,Spring Boot 的研发技术的掌握已经成为研发人员必会技能。与此同时,Spring Boot 开源生态建设能力非常强大,提供了很多应用组件,让Spring Boot 有丰富的三方开源软件的使用。......

SQY0809的博客 1056

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

java 匹配字符串排序_程序员面试闯关(一):字符串匹配+排序+查找

首先总结以下Java和C、C++中的一般控制台输入方式,方便以后的编程题:java键盘输入import java.util.Scanner;//…………Scanner scan = new Scanner(System.in);String s = scan.nextLine();int a = scan.nextInt();int b = scan.nextInt();String s2 = s...

weixin_29369363的博客 786

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

985本3Android程序员40天拿下阿里P6口头offer,面试成功后整理了这些面试思路

背景 面试成功的面经大家都非常需要,近日,在逛脉脉的时候,看到一位985本科毕业3年的程序员,称自己40天拿下阿里p6口头offer。由于自我感觉没什么问题了,所以和广大网友分享一下自己的面经。 原贴如下: 不少网友表示羡慕的同时想让楼主内推。“好羡慕啊”、“老铁,熬过来了,厉害啊” 也有网友问面试时的详细情况:“第三轮技术是老大面吗?主要问些啥呢”、“请问下楼主的11天是hr面试完到谈薪资吗,还是谈薪资了之后的offer审批”、“可以咨询下hr视频面流程怎么样,问了什么嘛,目前也到这一步”

weixin_44339238的博客 781

嵌入式面试

16那种排序方法最快? (华为面试题) 17写出两个排序算法,问哪个好?(威盛) 18编一个简单的求n!的程序 (Infineon笔试试题) 19用一种编程语言写n!的算法(威盛VIA 2003.11.06 上海笔试试题) 20用C语言写一个递归算法求N!;(华为面试题) 21给一个C的函数,关于字符串和数组,找出错误;(华为面试题) 22防火墙是怎么实现的? (华为面试题) 23你对哪方面编程熟悉?(华为面试题) 24冒泡排序的原理(新太硬件面题) 25操作系统的功能(新太硬件面题)

356

5 年 Java 经验,字节、美团、快手核心部门面试总结(真题解析)

卷,继续卷

程序员囧辉 2万+

一个公司的C/C++程序员面试问题

来自vchelp主要针对应界毕业的同学和一年以下工作经验的人;希望对大家有帮助;算法:1.什么是NPC,NP-Hard?2.起泡排序的时间复杂度是多少?说出至少一个比它更快的算法;排序的极限时间复杂度是多少?3.有一个链表,如何判断它是一个循环链表?如果链表是单向的呢?如果出现循环的点可能在任意位置呢?如果缓存空间是有限的,比如是一个常数呢?如果

wensir的老窝 2998

30岁,程序员,烦透了,阿里面试100%会问到的JVM

三面:1h50min 我感觉这场面试很多时候我都没正确get到面试官的问题,所以花了很长时间,不然还能从面试官那学到更多!!!面试的时候觉得面试官问的挺深的,但是复盘的时候觉得其实也都是些基础知识。 1. 说一下项目,假装我是一个啥都不懂的人 2. 让你来设计这个项目你会怎么设计,设计流程。 讨论了一下项目细节以及我做的那部分工作 3. 类中的几个基本函数有哪些 4. 什么情况下我们一定要有拷贝构造函数(我打了个比方,string类就一定要有)。你这说的是一种情况,那你总结一下,什么情况下一定要有拷贝构造函

m0_66144910的博客 385

前端高频面试题

涵盖HTML、CSS、JS、ES6、Vue、react、微信小程序以及常见编程问题等高频面试题(内容可能不全,仅供参考)

weixin_66260134的博客 2577

技术面试必备:面试高频书籍推荐清单

你是否还在为技术面试不知道该看哪些书而焦虑?面对海量技术书籍无从下手?本文精选gh_mirrors/te/technical-books项目中**面试高频书籍**,覆盖计算机基础、算法、编程语言、数据库等核心领域,助你直击面试重点,高效备战! 读完本文你将获得: - 7大技术领域28本面试核心书籍推荐 - 每本书的**面试重点章节**与**高频考点**解析 - 不同岗位(前端/后端/算法)的**...

gitblog_01124的博客 1083
上一篇: H面试程序(15): 冒泡排序法
下一篇: H面试程序(25):在一个字符串中删除特定字符
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值