使用快速排序算法对字符串数组进行排序(复习指向指针的指针以及指针数组的使用)
来源:互联网 发布:app数据统计模板 编辑:程序博客网 时间:2024/05/01 16:18
#include <stdio.h>
#include <string.h>
char *strArray[]={
"Jimmy",
"Love",
"Lucy",
"One",
"Two",
"C language"
};
void QuickSort(char **ptr,int num)
{
sort(ptr,0,5);
}
void sort(char **ptr,int left,int right)
{
int i=left,j=right;
char *mid=*(ptr+(int)(left+right)/2);
do{
while((strcmp(*(ptr+i),mid)<0)&&(i<right))i++;
while((strcmp(mid,*(ptr+j))<0)&&(j>left))j--;
if(i<=j)
{
char *tmp=*(ptr+i);
*(ptr+i)=*(ptr+j);
*(ptr+j)=tmp;
i++;j--;
}
}
while(i<=j);
if(j>left) sort(ptr,left,j);
if(i<right) sort(ptr,i,right);
}
int main(int argc,int **argv)
{
char **ptr=strArray;
QuickSort(ptr,6);
for(int i=0;i<6;i++)
{
printf("%s\n",*(ptr+i));
}
}
#include <string.h>
char *strArray[]={
"Jimmy",
"Love",
"Lucy",
"One",
"Two",
"C language"
};
void QuickSort(char **ptr,int num)
{
sort(ptr,0,5);
}
void sort(char **ptr,int left,int right)
{
int i=left,j=right;
char *mid=*(ptr+(int)(left+right)/2);
do{
while((strcmp(*(ptr+i),mid)<0)&&(i<right))i++;
while((strcmp(mid,*(ptr+j))<0)&&(j>left))j--;
if(i<=j)
{
char *tmp=*(ptr+i);
*(ptr+i)=*(ptr+j);
*(ptr+j)=tmp;
i++;j--;
}
}
while(i<=j);
if(j>left) sort(ptr,left,j);
if(i<right) sort(ptr,i,right);
}
int main(int argc,int **argv)
{
char **ptr=strArray;
QuickSort(ptr,6);
for(int i=0;i<6;i++)
{
printf("%s\n",*(ptr+i));
}
}
- 使用快速排序算法对字符串数组进行排序(复习指向指针的指针以及指针数组的使用)
- 使用指向指针的指针对字符串排序
- 使用指向指针的指针对字符串排序
- 使用指向指针的指针对字符串排序
- 用指向指针的指针来对数组排序(字符串)
- 用指向指针的指针对字符串进行排序
- 用指向指针的指针来对数组排序
- 数组指针、指针数组、指向指针的指针使用总结
- 用指针数组对字符串进行排序
- 数组的指针、指针数组以及指向指针的指针
- 数组的指针、指针数组以及指向指针的指针
- 数组的指针、指针数组以及指向指针的指针
- 数组的指针、指针数组以及指向指针的指针
- 指针数组,指向指针的指针,字符串指针数组
- 指针数组以及指向字符串的理解
- 结构体,指向数组指针,对数组的增删,排序,遍历算法
- 指针与一维数组,用指针指向数组,以及指针的使用
- linux c /指针数组的使用及字符串排序
- 学习收藏之java篇
- javascript中eval()函数语法
- python 中 if __name__=='__main__':解析
- 什么叫栈?什么叫堆?堆与栈的联系与区别
- Spring加载多个配置文件
- 使用快速排序算法对字符串数组进行排序(复习指向指针的指针以及指针数组的使用)
- 《Generic Programming and the STL》读书笔记
- struts2框架输入校验服务器端的两种方法
- 《Effective C++》读书笔记
- hdu 1241 DFS
- bash参考手册之三(基本的Shell特性)续七
- 《C++标准程序库(The C++ Standard Library)》读书笔记
- linux中断控制之软中断
- 《C++ Strategies and Statics》读书笔记