#includestruct p{
char name[10];
int k;
};
void quiksort(int a[],int low,int high)
{
int i = low;
int j = high;
int temp = a[i];
if( low < high)
{
while(i < j)
{
while((a[j] >= temp) && (i < j))
{
j--;
}
a[i] = a[j];
while((a[i] <= temp) && (i < j))
{
i++;
}
a[j]= a[i];
}
a[i] = temp;
quiksort(a,low,i-1);
quiksort(a,j+1,high);
}
else
{
return;
}
}
main()
{
struct p p_1[9] = {
{"name1",2},
{"name2",1},
{"name3",4},
{"name4",9},
{"name5",3},
{"name6",6},
{"name7",7},
{"name8",4},
{"name9",5}
};
//int arry[9] = {2, 1, 4, 9, 3, 6, 7, 4, 5 };
int i;
printf("排序之前的数组:\n");
for(i=0;i<9;i++)
{
printf("%2c,%2d",p_1[i].name,p_1[i].k);
}
quiksort(p_1.k,0,8);
printf("\n");
printf("排序之后的s数组:\n");
for(i=0;i<9;i++)
{
printf("%2c,%2d",p_1[i].name,p_1[i].k);
}
printf("\n");
}