双重循环排序与冒泡排序算法
双重循环排序
双重循环排序算法是⼀种⾮常简单的排序算法,这种算法很容易让⼈理解,也很实⽤,但是排序的效率很低。基本思路是⽤第⼀个数与后⾯的所有数进⾏⽐较,然后把最⼩的数放到第⼀个位置,然后⽤第⼆个数与后⾯的所有数进⾏⽐较,然后把第⼆个最⼩的数放到第⼆个位置,然后⽤第三个数....最后⽤倒数第⼆个数进⾏⽐较,这样最终形成从⼩到⼤的排列顺序。
C语⾔源代码:
1 #include<stdio.h>
2
3int main()
4 {
冒泡排序代码c语言
5int i, j, t;
6int a[10] = {2, 5, 8, 1, 3, 4, 7, 9, 0, 6}; // 共10个数据
7// 双重for循环排序
8for(i=0; i<9; i++) // 从第1个到第9个
9    {
10for(j=i+1; j<10; j++) // 将a[i]和后⾯的所有数进⾏⽐较
11        {
12if(a[i]>a[j]) // 如果a[i]⼤于后⾯的数则进⾏交换
13            {
unicode命名工具14                t=a[i];
15                a[i]=a[j];
16                a[j]=t;测试方法有哪几种
17            }
18        }
19    }
20    printf("排序后:\n");
21for(i=0; i<10; i++)
22    {
23        printf("%d ", a[i]);
24    }
25return0;
26 }
冒泡排序算法:
各种编程语言有什么区别
基本思路:假设有10个数,则需要进⾏10-1趟(即9趟)⽐较,每趟从第⼀个数开始与后⾯相邻的⼀个数⽐较,如果前⾯的数⽐后⾯相邻的数⼤则相互交换,经过⼀趟⽐较之后,最⼤的那个数被放在最后⾯。然后进⾏下⼀趟⽐较,⼜从第⼀个数开始⽐较,但不包括前⾯⼀趟已经出来的那个最⼤的数,因此下⼀趟要⽐前⼀趟⽐较的次数少⼀次。可见这种算法每进⾏⼀趟后会把本趟最⼤的数“升到”末尾,如⽓泡⼀样逐步升出⽔⾯,故称为“冒泡法”或“起泡法”。
C语⾔源代码:
1 #include<stdio.h>
2
3int main()
4 {
5int i, j, t;
6int a[10] = {2, 5, 8, 1, 3, 4, 7, 9, 0, 6}; // 共10个数据
7// 冒泡排序
8for(i=0; i<9; i++) // 总共需要⽐较9趟
9    {
10for(j=0; j<9-i; j++) // 只需⽐较前⾯的数,最后的是最⼤数,第⼀趟i为0时⽐较9次,第⼆趟⽐较8次,第三趟⽐较7次....
11        {
12if(a[j]>a[j+1]) // 如果a[j]⼤于后⾯相邻的⼀个数则进⾏交换
13            {
14                t=a[j];
ppt模板免费下载素材创意设计15                a[j]=a[j+1];
16                a[j+1]=t;
17            }
18        }
19    }
20    printf("排序后:\n");
21for(i=0; i<10; i++)
22    {
23        printf("%d ", a[i]);
十进制数转换成二进制
24    }
25return0;
26 }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。