首页 > 代码库 > 冒泡排序与写在前面

冒泡排序与写在前面

  准备考研了,最近在看高数和英语,数据结构等专业课也带着开始复习了,发现数据结构大多只能理解算法含义但未必能够写出程序出来,所以通过这个平台记录自己复习数据结构等专业课的进度以及程序。

  先来个大一就学过的冒泡排序吧,书上有写大致算法,写写练练作为一个开始吧,原理啥的就不说了直接代码吧

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 void bubble_sort(int *a,int n){
 5     int i;
 6     int j;
 7     int temp;
 8     int change;
 9     for(i = n-1,change = 1;i >= 1&&change == 1;--i){
10         change = 0;
11         for(j = 0;j < i;++j){
12             if(a[j] > a[j+1]){
13                 temp = a[j];
14                 a[j] = a[j+1];
15 
16                 a[j+1] = temp;
17                 change = 1;
18             }
19         }
20     }
21     for(i = 0;i < 10;i++){
22         printf("%d\t",a[i]);
23     }
24 }
25 
26 int main(){
27     int str[10] = {
28         2,7,10,6,7,9,15,11,8,1
29     };
30     int i;
31     for(i = 0;i < 10;i++){
32         printf("%d\t",str[i]);
33     }
34     printf("\n");
35     int length = 10;
36     int *a = str;
37     bubble_sort(a,length);
38     return 0;
39 }
View Code