C语言教程-快速排序
21视频教程网收集整理
void quickSort(char* arr,int startPos, int endPos)
{
int i,j;
char ch;
ch=arr[startPos];
i=startPos;
j=endPos;
while(i<j)
{
while(arr[j]>=ch && i<j)--j;
arr[i]=arr[j];
while(arr[i]<=ch && i<j)++i;
arr[j]=arr[i];
}
arr[i]=ch;
if(i-1>startPos) quickSort(arr,startPos,i-1);
if(endPos>i+1) quickSort(arr,i+1,endPos);
}
void main()
{
char ch[]="qwertyuiopasdfghjklzxcvbnm";
quickSort(ch,0,25);
printf("\n%s\n",ch);
}什么叫快速排序 qsort
#include<string.h>
#include<stdlib.h>
#include<stdio.h>
struct student{
int xuehao;
char name[20];
int chengji;
};
typedef struct student stu;
sortbyxuehao(const void *,const void *);
sortbyname(const void *,const void *);
sortbychengji(const void *,const void *);
void main()
{
int i;
stu a[3];
int choice;
int (*p)(const void * ,const void *);
printf("please input record:\n");
printf("xuehao name chengji:\n");
for(i=0;i<3;i++)
{
scanf("%d",&a[i].xuehao);
scanf("%s",a[i].name);
scanf("%d",&a[i].chengji);
}
printf("choice_1: sorted xuehao:\n");
printf("choice_2: sorted name\n");
printf("choice_3: sorted chengji\n");
scanf("%d",&choice);
while(choice!=0)
{
if(choice==1)
p=sortbyxuehao;
if(choice==2)
p=sortbyname;
if(choice==3)
p=sortbychengji;
qsort(a,3,sizeof(stu),p);
if(choice==1)
for(i=0;i<3;i++)
printf("\n%d\t%s\t%d",a[i].xuehao,a[i].name,a[i].chengji);
if(choice==2)
for(i=0;i<3;i++)
printf("\n%s\t%d\t%d",a[i].name,a[i].xuehao,a[i].chengji);
if(choice==3)
for(i=0;i<3;i++)
printf("\n%d\t%s\t%d",a[i].chengji,a[i].name,a[i].xuehao);
printf("\n");
scanf("%d",&choice);
}
}
sortbyxuehao(const void *p,const void *q)
{
stu *x,*y;
x=(stu*)p;
y=(stu*)q;
return (-((*x).xuehao-(*y).xuehao));
}
sortbyname(const void *p,const void *q)
{
stu *x,*y;
x=(stu*)p;
y=(stu*)q;
return strcmp((*x).name,(*y).name);
}
sortbychengji(const void *p,const void *q)
{
stu *x,*y;
x=(stu*)p;
y=(stu*)q;
return ((*x).chengji-(*y).chengji);
}
进入C语言程序设计视频教程专区
Word教程网 | Excel教程网 | Dreamweaver教程网 | Fireworks教程网 | PPT教程网 | FLASH教程网 | PS教程网 |
HTML教程网 | DIV CSS教程网 | FLASH AS教程网 | ACCESS教程网 | SQL SERVER教程网 | C语言教程网 | JAVASCRIPT教程网 |
ASP教程网 | ASP.NET教程网 | CorelDraw教程网 |