菜鸟提问 c语言关于快速排序
其实,最想说明的是那段交换的代码R[j]^=R[i]; R[i]^=R[j]; R[j]^=R[i]; 一定要排除 i==j 的情况。即自己与自己交换的情况。
如:a=9;a^=a;/*a=0*/a^=a;/*a=0*/a^=a;/*a=0*/a就不再是10了。
菜鸟真心求教:SQLite中数据的排序
sqlite中存数据的时候是按照存入的顺序排的,因为设置了Id自增长,所以查出是数据也就是按id 升序排序。
【菜鸟求教】,怎么用C语言,结构随机生成若干个时间并排序呀,…”
#include <stdio.h>
#include <stdlib.h>
typedef struct _timelist
{
int h;
int m;
int s;
int sum;
struct _timelist* next;
}timelist,*ptimelist;
timelist * first;//指向链头
void creatime(int size);//创建你需要的时间
void sorttime();//对你所需要的时间排序,我是按升序
void sortab(ptimelist *a,ptimelist *b);//把B数据给a数据
void display();//输出
void deletetimelist();
int main()
{
int size;
first=NULL;
printf(“请输入你需要创建的时间个数\n”);
scanf(“%d”,&size);
creatime(size);
stime();
display();
deletetimelist();
return 0;
}
void display()
{
timelist *p;
for(p=first;p!=NULL;p=p->next)
{
printf(“\t\t\t%-2d h:%-2d m:%-2d s\n”,p->h,p->m,p->s);
}
}
void stime()
{
int flag;
timelist *p1,*p2;//指向链表操作的当前节点
timelist *t,*tt;//用于交换
tt=malloc(sizeof(timelist));
for(p1=first;p1->next!=NULL;p1=p1->next)//冒泡排序,败笔,数据结构白学了,找不出比这更垃圾的算法了。