#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define M 10
void input(char *city[],int n)
void sort(char *city[],int n)
int main(int argc, char **agrv){
char *city[M]
int i= 0
input(city,M)
sort(city,M)
printf("城市按拼音排列输出如迟唤空下:\n")
for(i=0i<Mi++)
{
printf("%s\t",city[i])
}
printf("\n")
return 0
}
void input(char *city[],int n){
char str[20]
int i
printf("请输入 %d 个城市的名字(请用拼音码瞎) :\n",M)
for(i=0i <ni++)
{
scanf("%s",str)
city[i] = (char *)malloc(sizeof(char)*(strlen(str)))
strcpy(city[i],str)
}
}
void sort(char *city[],int n){
char *tmp
int i,j
for(i=0i<ni++)
{
for(j=1j<n-ij++)
{
if(strcmp(city[j],city[j-1])<0)
{
tmp=city[j-1]
city[j-1]=city [j]
city[j]=tmp
}
}
}
}
按城市名称从多到少排序mysql可直竖空昌接这样 *** 作:1、初始化sortbuffer,确定放入name、city、age这三个字段。
2、从索引city找亏局到第一个满足city等于从多到少条件的主键id,也就是图中的IDX。
3、主键id索引取出整行,取name、city、age三个字段的值,存入sortbuffer中。
4、从索引city取下一个记录的主键id。
5、重复余扒步骤3、4直到city的值不满足查询条件为止,对应的主键id也就是图中的IDY。
6、对sortbuffer中的数据按照字段name做快速排序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)