`

算法排序

 
阅读更多

                                   基本排序算法

 

绪:到目前为止学过的算法有很多,也很杂。随着工作中的应用,慢慢的发现,使用还是最初的冒泡排序,学习的高级排序算法一点也没有用到,而且也不考虑一些优化的内容。不知道这是怎么了,也许是写的项目要求不高,只要实现基本功能就可以了。还是自己对自己的要求降低了。我很有必要写一篇比较,以及算法的实现。

 

排序的目的:

       我认为排序就是为了查找方便,一切都是为了查找,无论是在搜索引擎还是在网上查资料。基本功能都是查询。

 

一、直接插入排序

 

int a[10]={100,52,34,89,55,58,45,43,23,12}; 
int i,j,k,temp;
for(i=1;i<10;i++){
	temp = a[i]; //待插入元素
	j=i-1;       //待比较元素 
	while((a[j]>temp) && (j>=0)){
		a[j+1]=a[j];
		j--;
	} 	
	a[j+1]=temp;	
} 
for(k=0;k<10;k++)printf("%d,",a[k]); 

 结论:

    把关键字插入到前面有序的数组中,把其他关键字后移。

 

 二、交换排序(冒泡排序)

int a[10]={1,52,34,89,55,58,45,43,23,12}; 
int i,j,k;
for(i=0;i<10;i++){
	for(j=i+1;j<10;j++){
		if(a[i]>a[j]){
			k=a[i];
			a[i]=a[j];
			a[j]=k;	
		}
	}
} 
for(k=0;k<10;k++)printf("%d,",a[k]); 

 结论:

       每次排序都会有一个数在正确的位置,即是冒泡排序,第一个关键字与第二个关键字比较,若逆序则交换,然后第二个与第三个比较,若逆序则交换,依次类推。

 

 

分享到:
评论

相关推荐

    流行算法排序实用案例

    本文将深入探讨“流行算法排序实用案例”中涉及到的几种常见排序算法:快速排序、冒泡排序、二分插入排序、希尔排序,并结合Java语言进行详细解析。 1. **快速排序**: 快速排序是一种高效的排序算法,由C.A.R. ...

    残缺棋盘 动态规划 分治算法 算法排序 贪心算法 算法合集之《分治算法在树的路径问题中的应用》

    在这个压缩包文件中,我们关注的是五个核心的算法概念:动态规划、分治算法、算法排序、贪心算法,以及这些算法在实际问题中的应用,特别是分治算法在树的路径问题中的应用。下面,我们将深入探讨每一个算法,并尝试...

    各种排序 插入法排序、起泡法改进算法排序

    任务:用程序实现插入法排序、起泡法改进算法排序; 利用插入排序和冒泡法的改进算法,将用户随机输入的一列数按递增的顺序排好。 输入的数据形式为任何一个正整数,大小不限。 输出的形式:数字大小逐个递增的数列。

    包含五种算法排序系统

    这里我们重点关注一个名为“包含五种算法排序系统”的压缩包,这个包很可能包含了五种不同的排序算法实现。排序算法是计算机程序设计中的基础工具,它们用于将一组数据按照特定的顺序进行排列,如从小到大或从大到小...

    C++实现各种排序算法排序性能的比较,如果有更好的算法,替换相应的算法就可以

    标题中的"C++实现各种排序算法排序性能的比较"指出,这是一个关于C++编程的项目,其核心内容是对比不同排序算法的效率。排序是计算机科学中的基础问题,它在数据分析、数据库管理等领域有着广泛的应用。C++作为一种...

    算法排序专题:冒泡排序.sb3

    算法排序专题:冒泡排序,动画效果实现!

    visual C++ 算法排序系统

    本项目名为"Visual C++ 算法排序系统",是由VS2010开发的一个小型程序,主要展示了如何在C++环境中利用模板技术实现不同的排序算法。在这个项目中,开发者花费了一个礼拜的时间来设计、编码和测试,旨在分享其在编程...

    算法排序实验报告 包括对五种排序算法的算法实现时间的比较

    这篇实验报告主要关注了五种不同的排序算法:冒泡排序、插入排序、选择排序、归并排序和快速排序。在报告中,作者通过C++编程实现了这些算法,并进行了实际的性能比较,特别是在处理不同规模(N=1000, 10000, 100000...

    算法与数据结构 算法分析课程 第4章 排序算法 排序算法 共21页.pptx

    算法与数据结构 算法分析课程 第4章 排序算法 排序算法 共21页.pptx

    用冒泡排序这一算法排序数组

    数组与冒泡排序,用冒泡排序这一算法排序数组,详细。一组数据的排序,从键盘输入10个学生的成绩,存放在一个一维数组中,把数组中的学生成绩按升序排列并输出。

    7.1_内部排序算法排序.CPP

    1、常见排序算法实现(1-6选择几个算法练习) 1)问题描述:输入一组关键字序列分别实现下列排序。 (1)实现简单选择排序、直接插入排序和冒泡排序。 (2)实现希尔排序算法。 (3)实现折半插入排序。 ...

    常用排序算法java演示

    在编程领域,排序算法是计算机科学中的核心概念,特别是在数据结构和算法分析中。Java作为广泛应用的编程语言,提供了丰富的工具和技术来实现各种排序算法。本文将深入探讨标题"常用排序算法java演示"中涉及的知识点...

    8种排序算法(选择排序 冒泡排序 快速排序等~)

    希尔排序首先将待排序的元素按增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减少到1时,整个文件恰被分成一组,算法便终止。 6. **归并排序(Merge Sort)** 归并...

    算法排序问题实验报告.doc

    算法排序问题实验报告.doc

    实现所有经典排序算法汇总

    它通过将待排序的数组元素按某个增量分组,对每组使用直接插入排序算法排序,然后逐渐减少增量,直到增量为1,整个数组成为一个有序序列。 6. **归并排序(Merge Sort)** 归并排序是一种分治的排序算法,将待排序的...

    .net面试题(算法排序).txt

    .net面试题(算法排序).txt

    C#数据结构基本算法排序_C-.zip

    C#数据结构基本算法排序_C-

    白话经典算法之七大排序

    希尔排序是基于插入排序的算法,通过将原来的一组记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的记录越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 ...

    C++ 数据结构与算法 排序算法

    本文件将四大排序算法通过“「程序算法之排序」冒泡排序、插入排序、选择排序与快速排序”一文编写出,欢迎下载学习(文章链接:https://blog.csdn.net/Pomelo_ABC/article/details/126015013)

Global site tag (gtag.js) - Google Analytics