#include <stdio.h>
#include <string.h>
void quick_sort(char *pl[],int left,int right);
void swap(char *v[],int i, int j);
void writeline(char *pl[],int nlines);
void main(){
int nl = 3;
char *pline[3] = {"ccc","bbb","aaa"};
quick_sort(pline,0,nl - 1);
writeline(pline,nl);
}
void quick_sort(char *pl[],int left,int right){
int mid;
void swap(char *v[],int i, int j);
if(left > right){
return;
}
swap(pl,left,(left + right)/2);
mid = left;
for(int i = left + 1;i <= right;i++){
if(strcmp(pl[i],pl[left]) < 0){
swap(pl,++mid,i);
}
}
swap(pl,left,mid);
quick_sort(pl,left,mid-1);
quick_sort(pl,mid+1,right);
}
void swap(char *v[],int i, int j){
char *temp;
temp = v[j];
v[j] = v[i];
v[i] = temp;
}
void writeline(char *pl[],int nlines){
while(nlines-- > 0){
printf("%s\n",*pl++);
}
}
主要练习指针字符数组的使用
C语言用指针数组对字符串进行排序
最新推荐文章于 2023-11-15 11:18:49 发布