基本排序算法
绪:到目前为止学过的算法有很多,也很杂。随着工作中的应用,慢慢的发现,使用还是最初的冒泡排序,学习的高级排序算法一点也没有用到,而且也不考虑一些优化的内容。不知道这是怎么了,也许是写的项目要求不高,只要实现基本功能就可以了。还是自己对自己的要求降低了。我很有必要写一篇比较,以及算法的实现。
排序的目的:
我认为排序就是为了查找方便,一切都是为了查找,无论是在搜索引擎还是在网上查资料。基本功能都是查询。
一、直接插入排序
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++作为一种...
算法排序专题:冒泡排序,动画效果实现!
本项目名为"Visual C++ 算法排序系统",是由VS2010开发的一个小型程序,主要展示了如何在C++环境中利用模板技术实现不同的排序算法。在这个项目中,开发者花费了一个礼拜的时间来设计、编码和测试,旨在分享其在编程...
这篇实验报告主要关注了五种不同的排序算法:冒泡排序、插入排序、选择排序、归并排序和快速排序。在报告中,作者通过C++编程实现了这些算法,并进行了实际的性能比较,特别是在处理不同规模(N=1000, 10000, 100000...
算法与数据结构 算法分析课程 第4章 排序算法 排序算法 共21页.pptx
数组与冒泡排序,用冒泡排序这一算法排序数组,详细。一组数据的排序,从键盘输入10个学生的成绩,存放在一个一维数组中,把数组中的学生成绩按升序排列并输出。
1、常见排序算法实现(1-6选择几个算法练习) 1)问题描述:输入一组关键字序列分别实现下列排序。 (1)实现简单选择排序、直接插入排序和冒泡排序。 (2)实现希尔排序算法。 (3)实现折半插入排序。 ...
在编程领域,排序算法是计算机科学中的核心概念,特别是在数据结构和算法分析中。Java作为广泛应用的编程语言,提供了丰富的工具和技术来实现各种排序算法。本文将深入探讨标题"常用排序算法java演示"中涉及的知识点...
希尔排序首先将待排序的元素按增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减少到1时,整个文件恰被分成一组,算法便终止。 6. **归并排序(Merge Sort)** 归并...
算法排序问题实验报告.doc
它通过将待排序的数组元素按某个增量分组,对每组使用直接插入排序算法排序,然后逐渐减少增量,直到增量为1,整个数组成为一个有序序列。 6. **归并排序(Merge Sort)** 归并排序是一种分治的排序算法,将待排序的...
.net面试题(算法排序).txt
C#数据结构基本算法排序_C-
希尔排序是基于插入排序的算法,通过将原来的一组记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的记录越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 ...
本文件将四大排序算法通过“「程序算法之排序」冒泡排序、插入排序、选择排序与快速排序”一文编写出,欢迎下载学习(文章链接:https://blog.csdn.net/Pomelo_ABC/article/details/126015013)