用指向指针方法对N个字符串进行排序并输出

C语言版本的:

#include "stdio.h" #include "stdlib.h" #include "string.h" void sort(char *str[],int size) { int i,j; char *temp; for(i=0;i<size-1;i++) { for(j=i+1;j<size;j++) { if(strcmp(str[i],str[j])>0) //字符串之间的比较 { temp=str[i]; str[i]=str[j]; str[j]=temp; } } } } int main(void) { char *p[200],str[200][20]; int i,n; printf("请输入字符串的个数: "); scanf("%d",&n); for(i=0;i<n;i++) { scanf("%s",str[i]); p[i]=str[i]; } sort(p,n); printf("排序后的结果为:/n"); for(i=0;i<n;i++) printf("%s/n",p[i]); system("pause"); return 0; }

C++语言版本的:

#include "iostream" #include "string" #include "algorithm" using namespace std; bool cmp(string &a, string &b) { return a<b; } int main(void) { int n,i; string *str; cout<<"请输入字符串的个数:"; cin>>n; str = new string[n]; for(i = 0; i < n; i++) cin>>str[i]; sort(str, str+n, cmp); cout << "排序后的结果为:" <<endl; for(i = 0; i < n; i++) cout<<str[i]<< endl; system("pause"); return 0; }

运行结果如下图:

用指向指针方法对N个字符串进行排序并输出_第1张图片

你可能感兴趣的:(Algorithm,String,ini,语言,iostream)