西门子SCL编程实例——冒泡排序算法(更新版)
之前写过一篇关于SCL冒泡排序算法的文章(西门子SCL语言编程实例——冒泡排序|北岛夜话)。文章中的算法在某些情况下会出现错误。冒泡排序算法的原理如下:比较相邻元素。如果第一个比第二个大,则交换它们。对每对相邻元素执行相同的操作,从第一对开始,到最后一对结束。此时,最后一个元素应该是最大的数字。在程序中处理数据时,为了提高抗干扰性,过滤掉干扰数据,我们通常会添加过滤算法,而冒泡排序是最经典、最通用、最容易理解的算法。
如果顺序不对,就调换一下,直到排序完成:最后执行程序观察结果,按crtl F5弹出程序,随意输入10个数字,按回车键执行结果,就可以了可以看到排序的最终结果。 includetdio.hint main(){ int a[10], i, j, t, i1;//定义数组; for (i=0; i10; i ) { printf(请输入第%d 个元素:i 1); scanf(%d, a[i]);//给数组赋值。 #include #include int main() { int a[6],i,j; printf('请输入6个数字:\n'); for(i=0;i6.冒泡排序C语言实现将排序记录中的第一条记录与第二条记录进行比较,如果第一条记录大于第二条记录,则交换两条记录的位置,然后继续将第一条记录与第三条记录进行比较,并进行相同的处理。
要点冒泡排序是交换排序的一种。什么是交换排序?交换排序:将待排序的键两两进行比较,将不满足顺序要求的对进行交换,直到整个表满足顺序要求。 void main(){ int a[10];int i,j,t;printf(输入10个数字:\n);for(i=0;i10;i )scanf(%d,a[i]);for( j=0;j9;j ) /*执行9次循环实现9次比较*/for(i=0;i9-j.
排序算法是编程中最基本、最常见的算法之一。我们计算机系统的日常软件操作,按照项目的修改时间、名称、大小等进行排序,都受益于排序算法。创建两个变量start 和end,记住数组的起始和结束元素的地址,并使用两个while 循环交换地址指针来应用冒泡排序: void PrintArr(int* arr, int sz){ int i=0;for ( i=0; i sz; i ){ printf(%d).其空间复杂度为O(1),时间复杂度为O(n2)。冒泡排序是一种稳定的排序。用于序列或链式存储结构,平均时间性能比直接插入差。当初始记录无序且n较大时,此方法不适合。序列表创建。冒泡排序算法。第1讲: 冒泡排序法的基本原理所谓冒泡排序法是一种将一组数字从小到大排序的算法。具体方法是成对交换相邻值。
上面的过程其实就是冒泡排序的核心思想。 03 冒泡排序为了描述方便,用下面的数组来模拟孩子们的交换过程。 1-什么是冒泡排序?冒泡排序是一种简单的排序算法,它通过比较相邻元素的大小并根据需要交换其位置来对数据进行排序。它的名字来源于这样一个事实:较小的元素慢慢地“冒泡”到数组的开头。 int i, j, temp;//冒泡排序算法:进行n-1轮比较for(i=0; i10-1; i ){ //每轮比较前n-1-i,即比如说,已排序的最后i 个项目不需要比较(j=0; j10-1-i.