冒泡排序

题目:将二维数组中的字符串排序,*characters[] = {"Computer","com.munication","ConsumerElectronics","android","IOS",".text","notepad++","eclipse","code.blocks","VS studio 2015"};

 1 #include<stdio.h>
 2 #include<string.h>
 3 
 4 char *characters[] = {"Computer","com.munication","ConsumerElectronics","android","IOS",".text","notepad++","eclipse","code.blocks","VS studio 2015"};
 5 
 6 void sort(char *p[], int n)//冒泡排序
 7 {
 8     char *tmp;
 9     int i, j, k;
10     for(i = 0; i < (n - 1); ++i)
11     {
12         k = i;
13         for(j = (i + 1); j < n; ++j)
14         {
15             if(stricmp(p[k], p[j]) > 0)//比较字符串大小的函数stricmp()
16             {
17                 k = j;
18             }
19         }
20         if(k != i)
21         {
22             tmp = p[k];
23             p[k] = p[i];
24             p[i] = tmp;
25         }
26     }
27 }
28 
29 int main()
30 {
31     int n = sizeof(characters)/sizeof(characters[0]);//计算characters的行数
32     sort(characters, n);//传参要统一characters是指向指针的指针
33     int i;
34     for(i = 0; i < n; ++i)
35     {
36         printf("%s
", characters[i]);
37     }
38 
39     return 0;
40 }

结果如下:

原文地址:https://www.cnblogs.com/lanshanxiao/p/6661920.html