C语言的四种排序.docx

上传人:b****1 文档编号:13804537 上传时间:2023-06-17 格式:DOCX 页数:37 大小:18.71KB
下载 相关 举报
C语言的四种排序.docx_第1页
第1页 / 共37页
C语言的四种排序.docx_第2页
第2页 / 共37页
C语言的四种排序.docx_第3页
第3页 / 共37页
C语言的四种排序.docx_第4页
第4页 / 共37页
C语言的四种排序.docx_第5页
第5页 / 共37页
C语言的四种排序.docx_第6页
第6页 / 共37页
C语言的四种排序.docx_第7页
第7页 / 共37页
C语言的四种排序.docx_第8页
第8页 / 共37页
C语言的四种排序.docx_第9页
第9页 / 共37页
C语言的四种排序.docx_第10页
第10页 / 共37页
C语言的四种排序.docx_第11页
第11页 / 共37页
C语言的四种排序.docx_第12页
第12页 / 共37页
C语言的四种排序.docx_第13页
第13页 / 共37页
C语言的四种排序.docx_第14页
第14页 / 共37页
C语言的四种排序.docx_第15页
第15页 / 共37页
C语言的四种排序.docx_第16页
第16页 / 共37页
C语言的四种排序.docx_第17页
第17页 / 共37页
C语言的四种排序.docx_第18页
第18页 / 共37页
C语言的四种排序.docx_第19页
第19页 / 共37页
C语言的四种排序.docx_第20页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言的四种排序.docx

《C语言的四种排序.docx》由会员分享,可在线阅读,更多相关《C语言的四种排序.docx(37页珍藏版)》请在冰点文库上搜索。

C语言的四种排序.docx

C语言的四种排序

简单选择排序

/*对整型数组的元素进行简单选择排序(源程序的整型简单选择排序)*/

#include

#include

#defineN6

voidtaxis(intb[],intk)

{

inti,j,temp;

for(i=0;i

for(j=i+1;j

if(b[i]>b[j])

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

voidmain()

{

inta[N]={9,8,5,6,2,0},i;

clrscr();

taxis(a,N);

for(i=0;i

{

printf("%d",a[i]);

if(i

printf(",");

}

}

/*对整型数组的元素进行简单选择排序(源程序的整型排序-指针))*/

#include

#include

#defineN6

voidtaxis(int*p1,intk)

{

inttemp,*p2,*p3;

for(p2=p1;p2

for(p3=p2+1;p3

if(*p2>*p3)

{

temp=*p2;

*p2=*p3;

*p3=temp;

}

}

voidmain()

{

inta[N]={9,8,5,6,2,0},*p;

clrscr();

taxis(a,N);

for(p=a;p

{

printf("%d",*p);

if(p

printf(",");

}

}

/*将字符串按其的长度(字母对应的ASCⅡ值由小到大)进行简单选择排序(源程序的字符串长度排序)*/

#include

#include

#include

#defineN5

voidtaxis(char*p1[],intk)

{

inti,j;

char*temp;

for(i=0;i

for(j=i+1;j

if(strlen(p1[i])>strlen(p1[j]))

{

temp=p1[i];

p1[i]=p1[j];

p1[j]=temp;

}

}

voidmain()

{

char*a[]={"Follow","BASIC","Great","FORTRAN","Computer"};

inti;

clrscr();

taxis(a,N);

printf("Theresultoftaxisis:

\n");

for(i=0;i

printf("%s\n",a[i]);

}

/*将字符串按字母顺序(字母对应的ASCⅡ值由小到大)进行简单选择排序(源程序的字符串顺序排序)*/

#include

#include

#include

#defineN5

voidtaxis(char*p1[],intk)

{

inti,j;

char*temp;

for(i=0;i

for(j=i+1;j

if(strcmp(p1[i],p1[j])>0)

{

temp=p1[i];

p1[i]=p1[j];

p1[j]=temp;

}

}

voidmain()

{

char*a[]={"Follow","BASIC","Great","FORTRAN","Computer"};

inti;

clrscr();

taxis(a,N);

for(i=0;i

printf("%s\n",a[i]);

}

/*将整型数组的元素进行简单选择排序(终端输入的整型排序),如果连续出现3个为0的数据,*/

/*则默认判断这3个为0的数据无效以和其后面是没有数据,*/

/*即不输出这3个为0的数据以和其后面的数据(元素来自终端)*/

#include

#include

#defineN50

voidtaxis(intb[],intk)

{

inti,j,temp;

for(i=0;i

for(j=i+1;j

if(b[i]>b[j])

{

if(b[j]==0&&b[j+1]==0&&b[j+2]==0)

break;

else

{

temp=b[i];

b[i]=b[j];

b[j]=temp;

}

}

}

voidmain()

{

inta[N]={0},i;

clrscr();

printf("pleaseinputnomorethan%dintdatas:

\n",N);

for(i=0;i

scanf("%d",&a[i]);

taxis(a,N);

printf("Theresultoftaxisis:

\n");

for(i=0;i

{

printf("%d",a[i]);

if(a[i+1]==0&&a[i+2]==0&&a[i+3]==0)

break;

printf(",");

}

}

/*将整型数组的元素进行简单选择排序(终端输入的整型排序-指针),如果连续出现3个为0的数据,*/

/*则默认判断这3个为0的数据以和其后面是没有数据,*/

/*即不输出这3个为0的数据以和其后面的数据(元素来自终端)*/

#include

#include

#defineN50

voidtaxis(int*p1,intk)

{

inttemp,*p2,*p3;

for(p2=p1;p2

for(p3=p2+1;p3

if(*p2>*p3)

{

if(*p3==0&&*(p3+1)==0&&*(p3+2)==0)

break;

else

{

temp=*p2;

*p2=*p3;

*p3=temp;

}

}

}

voidmain()

{

inta[N]={0},*p;

clrscr();

printf("pleaseinputnomorethan%dintdatas:

\n",N);

for(p=a;p

scanf("%d",p);

taxis(a,N);

printf("Theresultofis:

\n");

for(p=a;p

{

printf("%d",*p);

if(*(p+1)==0&&*(p+2)==0&&*(p+3)==0)

break;

printf(",");

}

}

/*将字符串按字母顺序(字母对应的ASCⅡ值由小到大)进行简单选择排序(终端输入的字符串顺序排序)*/

/*当输入字符串时,遇到"回车"键则表示该字符串输入结束;当连续输入两个"回车键"时,则表示所有字符串输入结束*/

#include

#include

#include

#defineN50

#definesize15

voidtaxis(char*p1[],intk)

{

inti,j;

char*temp;

for(i=0;i

for(j=i+1;j

if(strlen(p1[i])>strlen(p1[j])&&strlen(p1[j])!

=0)

{

temp=p1[i];

p1[i]=p1[j];

p1[j]=temp;

}

}

voidmain()

{chara[size]={0},*p[N]={0};

inti;

clrscr();

printf("Pleaseinputnomorethan%dstrings\n",N);

for(i=0;i

{

gets(a);

if(strlen(a)==0)

break;

p[i]=(char*)calloc(sizeof(a),sizeof(char));

strcpy(p[i],a);

}

taxis(p,N);

printf("Theresultoftaxisis:

\n");

for(i=0;i

{

if(strlen(p[i])==0)

break;

printf("%s\n",p[i]);

}

}

/*将字符串按字母顺序(字母对应的ASCⅡ值由小到大)进行简单选择排序(终端输入的字符串顺序排序)*/

/*当输入字符串时,遇到"回车"键则表示该字符串输入结束;当连续输入两个"回车键"时,则表示所有字符串输入结束*/

#include

#include

#include

#defineN50

#definesize15

voidtaxis(char*p1[],intk)

{

inti,j;

char*temp;

for(i=0;i

for(j=i+1;j

if(strcmp(p1[i],p1[j])>0&&strlen(p1[j])!

=0)

{

temp=p1[i];

p1[i]=p1[j];

p1[j]=temp;

}

}

voidmain()

{chara[size]={0},*p[N]={0};

inti;

clrscr();

printf("Pleaseinputnomorethan%dstrings\n",N);

for(i=0;i

{

gets(a);

if(strlen(a)==0)

break;

p[i]=(char*)calloc(sizeof(a),sizeof(char));

strcpy(p[i],a);

}

taxis(p,N);

printf("Theresultoftaxisis:

\n");

for(i=0;i

{

if(strlen(p[i])==0)

break;

printf("%s\n",p[i]);

}

}

选择排序

/*对整型数组的元素进行选择排序(源程序的整型排序)*/

#include

#include

#defineN6

voidtaxis(intb[],intk)

{

inti,j,n,temp;

for(i=0;i

{

n=i;

for(j=i+1;j

if(b[n]>b[j])

n=j;

if(n!

=i)

{

temp=b[i];

b[i]=b[n];

b[n]=temp;

}

}

}

voidmain()

{

inta[N]={9,8,5,6,2,0},i;

clrscr();

taxis(a,N);

for(i=0;i

{

printf("%d",a[i]);

if(i

printf(",");

}

}

/*对整型数组的元素进行选择排序(源程序的整型排序-指针))*/

#include

#include

#defineN6

voidtaxis(int*p1,intk)

{

inti,temp,*p2,*p3;

for(i=0;i

{

p2=p1+i;

for(p3=p1+i+1;p3

if(*p2>*p3)

p2=p3;

if(p2!

=p1+i)

{

temp=*(p1+i);

*(p1+i)=*p2;

*p2=temp;

}

}

}

voidmain()

{

inta[N]={9,8,5,6,2,0},*p;

clrscr();

taxis(a,N);

for(p=a;p

{

printf("%d",*p);

if(p

printf(",");

}

}

/*将字符串按其的长度(字母对应的ASCⅡ值由小到大)进行选择排序(源程序的字符串长度排序)*/

#include

#include

#include

#defineN5

voidtaxis(char**p1,intk)

{

inti;

char**p2,**p3,**temp;

for(i=0;i

{

p2=p1+i;

for(p3=p1+i+1;p3

if(strlen(*p2)>strlen(*p3))

p2=p3;

if(p2!

=p1+i)

{

*temp=*(p1+i);

*(p1+i)=*p2;

*p2=*temp;

}

}

}

voidmain()

{

char*a[]={"Follow","BASIC","Great","FORTRAN","Computer"};

inti;

clrscr();

taxis(a,N);

printf("Theresultoftaxisis:

\n");

for(i=0;i

printf("%s\n",a[i]);

}

/*将字符串按字母顺序(字母对应的ASCⅡ值由小到大)进行选择排序(源程序的字符串顺序排序)*/

#include

#include

#include

#defineN5

voidtaxis(char**p1,intk)

{

inti;

char**p2,**p3,**temp;

for(i=0;i

{

p2=p1+i;

for(p3=p1+i+1;p3

if(strcmp(*p2,*p3)>0)

p2=p3;

if(p2!

=p1+i)

{

*temp=*(p1+i);

*(p1+i)=*p2;

*p2=*temp;

}

}

}

voidmain()

{

char*a[]={"Follow","BASIC","Great","FORTRAN","Computer"};

inti;

clrscr();

taxis(a,N);

for(i=0;i

printf("%s\n",a[i]);

}

/*将整型数组的元素进行选择排序(终端输入的整型排序),如果连续出现3个为0的数据,*/

/*则默认判断这3个为0的数据无效以和其后面是没有数据,*/

/*即不输出这3个为0的数据以和其后面的数据(元素来自终端)*/

#include

#include

#defineN10

voidtaxis(intb[],intk)

{

inti,j,n,temp;

for(i=0;i

{

n=i;

for(j=i+1;j

if(b[n]>b[j])

{

if(b[j]==0&&b[j+1]==0&&b[j+2]==0)

break;

else

n=j;

}

if(n!

=i)

{

temp=b[i];

b[i]=b[n];

b[n]=temp;

}

}

}

voidmain()

{

inta[N]={0},i;

clrscr();

printf("pleaseinputnomorethan%dintdatas:

\n",N);

for(i=0;i

scanf("%d",&a[i]);

taxis(a,N);

printf("Theresultoftaxisis:

\n");

for(i=0;i

{

printf("%d",a[i]);

if(a[i+1]==0&&a[i+2]==0&&a[i+3]==0)

break;

printf(",");

}

}

/*将整型数组的元素进行选择排序(终端输入的整型排序-指针),如果连续出现3个为0的数据,*/

/*则默认判断这3个为0的数据以和其后面是没有数据,*/

/*即不输出这3个为0的数据以和其后面的数据(元素来自终端)*/

#include

#include

#defineN50

voidtaxis(int*p1,intk)

{

inti,temp,*p2,*p3;

for(i=0;i

{

p2=p1+i;

for(p3=p1+i+1;p3

if(*p2>*p3)

{

if(*p3==0&&*(p3+1)==0&&*(p3+2)==0)

break;

else

p2=p3;

}

if(p2!

=p1+i)

{

temp=*(p1+i);

*(p1+i)=*p2;

*p2=temp;

}

}

}

voidmain()

{

inta[N]={0},*p;

clrscr();

printf("pleaseinputnomorethan%dintdatas:

\n",N);

for(p=a;p

scanf("%d",p);

taxis(a,N);

printf("Theresultofis:

\n");

for(p=a;p

{

printf("%d",*p);

if(*(p+1)==0&&*(p+2)==0&&*(p+3)==0)

break;

printf(",");

}

}

/*将字符串按字母顺序(字母对应的ASCⅡ值由小到大)进行选择排序(终端输入的字符串顺序排序)*/

/*当输入字符串时,遇到"回车"键则表示该字符串输入结束;当连续输入两个"回车键"时,则表示所有字符串输入结束*/

#include

#include

#include

#defineN50

#definesize15

voidtaxis(char**p1,intk)

{

inti;

char**p2,**p3,**temp;

for(i=0;i

{

p2=p1+i;

for(p3=p1+i+1;p3

if(strlen(*p2)>strlen(*p3)&&strlen(*p3)!

=0)

p2=p3;

if(p2!

=p1+i)

{

*temp=*(p1+i);

*(p1+i)=*p2;

*p2=*temp;

}

}

}

voidmain()

{chara[size]={0},*p[N]={0};

inti;

clrscr();

printf("Pleaseinputnomorethan%dstrings\n",N);

for(i=0;i

{

gets(a);

if(strlen(a)==0)

break;

p[i]=(char*)calloc(sizeof(a),sizeof(char));

strcpy(p[i],a);

}

taxis(p,N);

printf("Theresultoftaxisis:

\n");

for(i=0;i

{

if(strlen(p[i])==0)

break;

printf("%s\n",p[i]);

}

}

/*将字符串按字母顺序(字母对应的ASCⅡ值由小到大)进行选择排序(终端输入的字符串顺序排序)*/

/*当输入字符串时,遇到"回车"键则表示该字符串输入结束;当连续输入两个"回车键"时,则表示所有字符串输入结束*/

#include

#include

#include

#defineN50

#definesize15

voidtaxis(char**p1,intk)

{

inti;

char**p2,**p3,**temp;

for(i=0;i

{

p2=p1+i;

for(p3=p1+i+1;p3

if(strcmp(*p2,*p3)>0&&strlen(*p3)!

=0)

p2=p3;

if(p2!

=p1+i)

{

*temp=*(p1+i);

*(p1+i)=*p2;

*p2=*temp;

}

}

}

voidmain()

{chara[size]={0},*p[N]={0};

inti;

clrscr();

printf("Pleaseinputnomorethan%dstrings\n",N);

for(i=0;i

{

gets(a);

if(strlen(a)==0)

break;

p[i]=(char*)calloc(sizeof(a),sizeof(char));

strcpy(p[i],a);

}

taxis(p,N);

printf("Theresultoftaxisis:

\n");

for(i=0;i

{

if(strlen(

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高中教育 > 高中教育

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2