简单排序算法

seamcarver:具有GUI的Seam Carver算法 立即下载

简单排序算法

<1>冒泡算法:
#include <iostream>
#define N 5
using namespace std;
void fun(int a[],int m);
int main(void)
{
	int i;
	int a[N] = {85,56,32,58,12};
	fun(a,N);
	for (i = 0;i < N;i++)
	  cout << a[i] << ' ';
	return 0;
}

void fun(int a[],int m)
{
	int i,j,temp;
	for (i = 0;i < m-1;i++)
	  for (j = i+1;j < m;j++)
	    if (a[i] > a[j]) //升序排序 
	    {
	    	temp = a[i];
	    	a[i] = a[j];
	    	a[j] = temp;
		}
}
/*
*冒泡算法多用于没有排序的数列,对其进行有序排列
*/
<2>插入算法:
#include <iostream>
#define N 10
using namespace std;
void fun(int a[],int m);

int main(void)
{
    int i;
    int a[N] = {1,2,3,5,6,7,8,9,10};
    fun(a,N);
    for (i = 0;i < N;i++)
        cout << a[i] << ' ';
    return 0;
}

void fun(int a[],int m)
{
    int i,j,n;
    n = 4; //要插入的数
    for (i = 0;i < m;i++)
        if (a[i] > n)
        break;
    for (j = m-2;j >= i;j--) // 插入适当的位置,使得数列仍按升序排列
        a[j+1] = a[j];
    a[i] = n;
}
/*
*插入算法多用于已经按升序或降序排列的有序数列,插入一个数后仍按升序或降序排列
*/
<3>简单选择排序法:
#include <iostream>
#define N 10
using namespace std;

void fun (int a[],int m);

int main (void)
{
    int i;
    int num[N] = {7,9,2,5,0,3,1,4,6,8};
    fun(num,N);
    for (i = 0;i < N;i++)
        cout << num[i] << ' ';
    cout << endl;
    return 0;
}

void fun(int a[],int m)
{
    int i,j,temp;
    int flag;
    flag = temp = 0;
    for (i = 0;i < m-1;i++)
    {
        temp = a[i];
        flag = i;
        for (j = i+1;j < m;j++)
            if (a[j] < temp)
            {temp = a[j];flag = j;}
        if (flag == i)
            continue;
        a[flag] = a[i];
        a[i] = temp;
    }
}
/*选择排序法同样多应用于没有排序的序列,对其进行有序排列,但较之冒泡排序,程序执行效率更高*/


BSW: Dcm模块配置--28服务 这个章节讲解下UDS中的28服务(Communcation Control)的配置,顾名思义,对当前ECU的通讯状态进行变更,主要设置应用报文,网络管理报文的收发控制,通常应用在刷写APP软件时,降低总线负载。这里首先要提醒的一点是,28服务几乎不需要手写代码,只有在客户需求要求前置条件不满足时报特定NRC时才需要填充代码。实际配置中主要涉及的模块有DCM,BSWM,ComM,RTE.2.BswM模块的配置。3.ComM模块的配置。1.DCM模块的配置。 阅读详情

相关推荐

Logisim 原码一位乘法器设计 图解及代码(计算机组成原理)

Logisim 原码一位乘法器设计 图解及代码(计算机组成原理) 包对

醉蕤的博客 4375

EHLIB 应用技巧

如何使用 Ehlib 实现自动排序翻译:nxyc_twz@163.com    在 Ehlib 2.6 版的 DataService 文件夹下提供了一些可以使数据集实现自动排序的文件。TDBGridEh 使用这些文件中的相关对象可以实现当排序标记发生变化时实现自动排序。    如果你改变了数据网格及标题的排序标记而没有书写 OnSortMarkingChanged 事件,数据网格将尝试自动

开心果的专栏 3813

FPGA+CMV4000实战:从零搭建20fps成像系统的5个关键步骤(附避坑指南)

本文详细介绍了如何从零搭建基于FPGA和CMV4000传感器的20fps成像系统,涵盖硬件选型、SPI通信优化、LVDS数据采集、DDR2内存管理及系统集成等5个关键步骤。特别针对CMV4000传感器的SPI配置和高速数据处理的常见问题提供实用解决方案,帮助开发者避免常见陷阱,提升成像系统性能。

weixin_42628688的博客 427

经典排序算法之简单选择排序

前面在介绍冒泡排序的时候,有提到一种简单排序算法,就是从0开始,每次确定一个位置的元素。假设当前需要确定的位置下标为 i,则将i处的元素与后面的元素逐个比较,并将每次比较结果中较小的元素存放在i处,从而保证i处一直保存着最小元素。 简单的选择排序算法与这种算法思路一样,但是选择排序在比较的过程中,并没有将比较结果存放在i处,而是保存每次比较结果中 较小元素的下标到min中,从而保证m

芳草源的博客 1万+

PCIE6.0协议学习小记-Flit_Mode

PCIE6.0学习

code_aJack的博客 4633

C语言面试,8道一定会遇到的----关于指针的笔试题详解

C语言面试,8道一定会遇到的----关于指针的笔试题详解

m0_55322924的博客 463

排序算法之简单排序算法

排序算法排序算法: 排序算法: 非递归的简单选择排序算法 我对于简单选择排序算法的理解是:选择初始元素作为初始的比较值,然后选取后面的元素与第一个元素比较,如果大小不同则可以进行交换操作,当比较完最后一个元素时,第一个元素一定是最小的元素,其后选取第二个元素进行与第一步相同的比较与操作,最后就可以得到排好的顺序啦! //将一个数组作为参数传进简单选择排序算法中 void simpleSelect(...

MrLee12的博客 291

学Simulink——基于故障诊断与容错控制的场景实例:并网逆变器在短路故障下的动态响应及恢复策略

本文详细介绍了使用Simulink进行并网逆变器短路故障模拟与保护策略设计的方法。通过构建高精度逆变器模型,模拟IGBT击穿和桥臂直通故障,分析动态响应特性。重点设计了基于Stateflow的微秒级快速保护逻辑,包括过流检测、PWM闭锁和故障报警。同时提出完整的恢复策略流程,涵盖放电、去磁、自检和软启动等关键步骤。仿真结果表明,该方法能在200μs内有效限制短路电流,保护器件安全,并实现系统可靠恢复。文章还探讨了硬件保护协同、多级保护和预测保护等高级策略,为新能源系统的安全运行提供了重要参考。

amy_mhd的博客 143

简单排序算法的实现

简单排序算法就是通过n-i次关键字的比较,从n-i+1个记录中选出关键字最小的记录. 主要思想就是交换移动的次数减少,通过比较把数据移到相应的位置,虽然算法复杂度根冒泡排序是一样的但是,性能上还是优于冒泡排序. 下面是具体的代码 头文件SeqList.h #include<stdio.h> #include<assert.h> #include<iostream&gt...

Zyong139064359的博客 329

解决k8s核心组件calico pod资源不创建问题

解决k8s核心组件calico pod资源不创建问题 1.问题描述 由于K8S集群Master节点故障,导致calico网络组件虽然处于Running状态,但是一直无法准备就绪,如下图所示 calico-node-lpt7h运行在master节点,第一时间紧急处理方法就是将其pod删除,让K8S自动重建该pod,使整个集群快速恢复 但是就当我将calico-node-lpt7h pod删除后,该pod始终无法自建,就好像是从来没有这个pod似的 2.解决方法 期初排查时,我觉得可能是由于当前master

江晓龙的博客 4806

【蓝桥杯单片机组第八届省赛】— 基于单片机的电子钟程序设计与调试

1、初赛试题 1.1 基本要求 (1)使用 CT107D 单片机竞赛板, 完成“电子钟” 功能的程序设计与调试; (2)设计与调试过程中,可参考组委会提供的“资源数据包”; (3)Keil 工程文件以准考证号命名, 完成设计后, 提交完整、 可编译的 Keil工程文件到服务器。 1.2 硬件框图 1.3功能描述 1.3.1 初始化 (1)关闭蜂鸣器、继电器等无关外...

Fanjufei的博客 3661

排序算法5——简单选择排序

选择排序就是从待排序的元素中选择最小(最大)的元素,将其放在有序序列的相应位置,使这些元素构成有序序列。选择排序主要有两种:简单选择排序和堆排序。 【简单选择排序】 编写算法,要求使用简单选择排序算法对元素65、32、71、28、83、7、53、49进行从小到大排序。 【算法思想】 简单选择排序是一种简单的选择类排序算法,它的基本思想描述如下: 假设待排序的元素有n个,在第一趟排序过程...

凌空的桨 5846

如何实现在Go语言中替换程序自身

总结起来,我们可以通过将新的程序二进制文件写入磁盘,并在运行时启动这个新的程序来实现在Go语言中替换程序自身。在Go语言中,有时候我们需要在程序运行时替换程序自身,例如更新程序版本或者进行热重启。本文将介绍一种正确的方式来实现在Go语言中替换程序自身的方法,并提供相应的源代码示例。此外,替换程序自身可能会导致正在运行的程序产生意外行为或终止,请谨慎使用,并确保在合适的时机进行替换操作。实现替换程序自身的关键是将新的程序二进制文件写入到磁盘,并在运行时启动这个新的程序。函数启动新的可执行文件,并在后台运行。

HoUnix的博客 288

简单排序算法的C++实现

C++实现算法有冒泡排序/选择排序/插入排序/快排。

我壮着胆子再问一遍冬雪枫花 744

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

简单选择排序算法

在简单选择排序过程中,所需移动记录的次数比较少。最好情况下,即待排序记录初始状态就已经是正序排列了,则不需要移动记录。   最坏情况下,即待排序记录初始状态是按逆序排列的,则需要移动记录的次数最多为3(n-1)。简单选择排序过程中需要进行的比较次数与初始状态下待排序的记录序列的排列情况无关。当i=1时,需进行n-1次比较;当i=2时,需进行n-2次比较;依次类推,共需要进行的比较次数是(n-

flying0033的专栏 2630

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

排序算法入门之简单选择排序

在学了冒泡排序后,会发觉这种算法就是不断比较交换。虽简单直接,显然给人一种繁琐的感觉。那有没有更好一点的算法呢?这当然有啦,没有就糟糕透了 :-P 这篇文章介绍一种较冒泡要好的排序算法:简单选择排序 看到“选择”这两字估计也猜到一二了。没错,这种算法的思想就是:待找到了最适合的那位数的位置我才选择与它进行交换 这样做,我们大大省下了很多不必要的交换。因为在代码编写中,交换函数是经常使用,所以

学无止境 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

简单选择排序算法总结

简单选择排序算法思路如下: 从头至尾扫描序列,找到最小的的元素和第一个元素交换,接着从剩下的记录中继续这样选择和交换,最终使序列有序。 代码如下:package test; import java.util.Arrays; public class InsertSort { public static void sort(int []a) { int i,j,k,temp; fo

qq297877375的博客 344

排序算法-简单选择排序

简单选择排序法就是通过n-i次关键字比较,找到最小的关键字下标,最后在替换n-i下标和最小下标的值。 简单排序的思想和冒泡排序的思想的区别是冒泡排序是相邻关键字两两比较,如果小,则直接替换,可能在一轮循环会进行多次值交换。而简单选择排序法是一轮循环找到最小关键字下标,最后进行最多一次替换。 简单选择排序算法 ...

白杨 3692

算法——java实现简单排序算法

public class SimpleSelectSort { /* 简单排序算法就是通过n-1次关键字间的比较,从n-i+1个记录中选出关键字最小的记录 冰河第i个记录交换之 */ //初始化数组 int parma[] = {}; //交换数组中的两个元素 public void swap(int parma[],int i,int j){ int temp = parma[i]; parma...

JackWu blog 212

排序算法之简单选择排序

基本思想: 将初始序列(A[0]~A[n-1])作为待排序序列,第一趟在待排序序列(A[0]~A[n-1])中找最小值元素,与该序列中第一个元素A[0]交换,这样子序列(A[0])有序;下一趟排序在待排序子序列(A[1]~A[n-1])中进行。第 i 趟排序,A[i-1]~A[n-1] 中,找到最小元素,与该子序列中第一个元素 A[i-1] 交换。经过n-1趟排序后使得初始序列有序。

happywq2009的专栏 739

排序算法2——图解简单选择排序及其实现

基本思想 通过n-i次关键字之间的比较,从n-i+1个记录中选出关键字最小的记录,并和第i个记录作交换 代码和上下界 比较过程如下 这样,最多经过n-1次交换,就能完成排序操作 下面分析简单选择排序的时间复杂度 无论最好或最坏的情况下,其比较次数都是一样多的, 第i趟需要进行n-i次关键字的比较,总共需要比较∑(n-i)=n(n-1)/2次,i从1到n-1, 而对于交换次数来说,当最...

优快云_dzh的博客 3387

简单排序算法的总结

在数据结构中,感觉排序是个挺有趣的地方,现在来说说其中的简单排序:冒泡排序, 简单选择排序,直接插入排序。     冒泡排序:不知道你的C 是怎么入门的,反正我是学的老谭的书过来的,一开始还觉得挺不错,可是现在才发现我被老谭坑了(不要拍砖)。就以冒泡来说,在老谭书里面是这样理解的:     void BubbleSort(SqList *L) //SqList 是一个包含了一个数组,和该数

GodLike 849

C#实现简单排序算法

今天复习了下排序算法的简单选择排序,先描述,然后代码实现 代码实现如下 class Program { public static void Swap(ref int left, ref int right) { left = left + right; right = left - right;

fengzheng22的专栏 775

php简单排序算法,PHP排序算法之简单选择排序(Simple Selection Sort)

这篇文章主要介绍了PHP排序算法之简单选择排序(Simple Selection Sort),结合实例形式较为详细的分析了简单选择排序算法的原理与相关实现技巧,需要的朋友可以参考下本文实例讲述了PHP排序算法之简单选择排序(Simple Selection Sort)。分享给大家供大家参考,具体如下:基本思想:通过 n – i 次关键字间的比较,从 n – i + 1 个记录中选出关键字最小的记录...

weixin_26731219的博客 174
下一篇: 筛选法求素数
柴胡1217
博客等级 码龄10年 8粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值