结构体排序算法

来源:百度知道 编辑:UC知道 时间:2024/05/08 15:34:08
在C语言中怎样怎样按照其中一项来排序
怎样实现呢?
麻烦高手指导,最好是原代码
谢谢了

typedef struct datuser
{
INT8 usernm[USRNAMELENS];
INT8 passwd[PASSWRDLENS];
INT8 addess[USRADDRLENS];
}DATUSER;

DATUSER*userbase_buf=NULL;

volatile INT32 *userinfp=NULL; //record &userbase_buf[i]
volatile INT32*guserpos=NULL; //record i
---------------------------------------------------------------------
userinfp[0]=(INT32)(&userbase_buf[0]);
guserpos[0]=0;
----------------------------------------------------------------------
void dfindzoneuser(INT8 *keyname,INT32 vlen,INT32 *head,INT32 *tail)
{//1/2 method to find user
int ret = -1;
int mid, low=-1, high=vlen;
/*
[9,8,7,6,5,4,3,2,1]
L H
*/
do {
mid = ((low+high)>>1);
//big-->small(key compare orderd-array)
ret=strcmp((const char *)keyname,(const char *)(((DATUSER *)userinfp[mid])->usernm));
//sma