您的位置:首页 > 其它

一级指针,二级指针,指向数组的指针

2014-10-31 13:23 225 查看
对"black,green,yellow,pin,red"几个单词排序

01

#include <iostream.h>
#include <string.h>
void sort(char (*p)[20],int n)
{
char *q;
char b[20];
q=b;
int i,j;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(p[i],p[j])>0)
{
strcpy(q,*(p+i));
strcpy(*(p+i),*(p+j));
strcpy(*(p+j),q);
}
}
}
}
void main()
{
char a[5][20]={"black","green","yellow","pin","red"};
sort(a,5);
for(int i=0;i<5;i++)
{
cout<<a[i]<<endl;
}
}


  02

#include <iostream.h>
#include <string.h>
void sort(char *p[],int n)
{
char *q;
int i,j;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(*(p+i),*(p+j))>0)
{
q=*(p+i);
*(p+i)=*(p+j);
*(p+j)=q;
}
}
}
}
void main()
{
char a[5][20]={"black","green","yellow","pin","red"};
char *q[5];
for(int i=0;i<5;i++)
{
q[i]=a[i];
}
sort(q,5);
for(i=0;i<5;i++)
{
cout<<q[i]<<endl;
}
}


  03

#include <iostream.h>
#include <string.h>
void sort(char *p,int n)
{
char *q;
char b[20];
q=b;
int i,j;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(p+i*20,p+j*20)>0)
{
strcpy(q,p+i*20);
strcpy(p+i*20,p+j*20);
strcpy(p+j*20,q);
}
}
}
}
void main()
{
char a[5][20]={"black","green","yellow","pin","red"};
char *q;
q=&a[0][0];
sort(q,5);
for(int i=0;i<5;i++)
{
cout<<a[i]<<endl;
}
}


  04

#include <iostream.h>
#include <string.h>
void sort(char **p,int n)
{
char *q;
int i,j;
for(i=0;i<n;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(*(p+i),*(p+j))>0)
{
q=*(p+i);
*(p+i)=*(p+j);
*(p+j)=q;
}
}
}
}
void main()
{
char a[5][20]={"black","green","yellow","pin","red"};
char *q[5];
for(int i=0;i<5;i++)
{
q[i]=a[i];
}
sort(q,5);
for(i=0;i<5;i++)
{
cout<<a[i]<<endl;
}
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐