打印排序:
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
void main()
{
int i = 0, j = 0;
int num = 0;
char*tmp = NULL;
//数组 只不过每一个元素都是指针--->指针数组
char* myArray[] = {"aaaaaa","ccccc","bbbbb","1111111"};
//打印
num = sizeof(myArray) / sizeof(myArray[0]); //求出数组的长度
for (i = 0; i < num; i++)
{
printf("%s\n", myArray[i]);// printf("%s\n", *(myArray+i));
}
//排序
for (i = 0; i < num; i++)
{
for (j = i+1; j < num; j++)
{
if (strcmp(myArray[i], myArray[j]) > 0)//前面的大 交换
{
tmp = myArray[i]; //注意 交换的是数组元素 交换的是指针的值
myArray[i] = myArray[j];
myArray[j] = tmp;
}
}
}
printf("排序之后");
for (i = 0; i < num; i++)
{
printf("%s\n", myArray[i]);// printf("%s\n", *(myArray+i));
}
printf("\nhehhe");
system("pause");
return;
}
函数封装:
void printMyArray(char**myArray, int num)
{
int i = 0;
for (i = 0; i < num; i++)
{
printf("%s\n", myArray[i]);// printf("%s\n", *(myArray+i));
}
}
void sortMyArray(char**myArray, int num)
{
int i = 0,j = 0;
char*tmp = NULL;
for (i = 0; i < num; i++)
{
for (j = i+1; j < num; j++)
{
if (strcmp(myArray[i], myArray[j]) > 0)//前面的大 交换
{
tmp = myArray[i]; //注意 交换的是数组元素 交换的是指针的值 //改变指针的指向
myArray[i] = myArray[j];
myArray[j] = tmp;
}
}
}
}
void main()
{
int i = 0, j = 0;
int num = 0;
char*tmp = NULL;
//数组 只不过每一个元素都是指针--->指针数组
char* myArray[] = { "aaaaaa", "ccccc", "bbbbb", "1111111" };
//打印
num = sizeof(myArray) / sizeof(myArray[0]); //求出数组的长度
printMyArray11(myArray, num);
//排序
sortMyArray11(myArray, num);
printf("排序之后");
printMyArray11(myArray, num);
printf("\nhehhe");
system("pause");
return;
}