1.冒泡排序排多个字符串
思路:
1.使用一个二维数组来存放字符串,一行代表一个字符串 2.对一行的字符串进行冒泡排序,排完这一行之后对下一行排序。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define S 3 //行数
#define N 10 //列数
Exchage(char *p, char *q)//交换两个字符
{
char tmp = *p;
*p = *q;
*q = tmp;
}
void Sort(char arr[S][N])
{
int x = 0;
while(x < S)
{
int j = 0;
int i = 0;
int y = strlen(arr[x]);//计算这个字符串的长度
for(i = 0; i < y-1; i++)//冒泡排序
{
for(j = 0; j < y-i-1; j++)
{
if(arr[x][j] >arr[x][j+1])//如果第一个字符大于第二个字符,交换这两个字符
{
Exchage(&arr[x][j],&arr[x][j+1]);
}
}
}
x++;//下一行
}
}
int main()
{
char a[S][N] = {"asddfg","WERTDFG","DRFCFGHJ"};
int i = 0;
Sort(a);
for(i = 0; i < S; i++)
{
printf("%s\n", a[i]);
}