• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签:

资源简介

课程设计的一部分代码,希望能对大学生们做课设计有作用。

资源截图

代码片段和文件信息

/*【5.5】汽车牌照管理系统
[ 问题描述 ] 
 排序和查找是在数据处理中使用频度极高的操作,为加快查找的速度需现对数据记录按关键字 
排序。在汽车数据的信息模型中,汽车牌照是关键字,而且是具有结构特点的一类关键字,因 
为汽车牌照号是数字和字母混编的,例如01B7328,这种记录集合是一个适于利用多关键字进行 
排序的典型例子。 
 [ 基本要求 ] 
 (1)首先利用链式基数排序方法实现排序,然后利用折半查找方法,实现对汽车记录按关键字 
进行查找。 
(2)汽车记录集合可以人工录入,也可以按自动方式随机生成。 */ 
#include 

#define RADIX 10
#define DEY_SIZE 6
#define LIST_SIZE 20
typedef int KeyType;

typedef struct
{
KeyType key[KEY_SIZE];
OtherType other_data;
int next;
}RecordTypel;

typedef struct
{
RecordTypel r[LIST_SIZE+1];
int length;
int keynum;
}SlinkList;
typedef int PVector[RADIX];


void Distribute( RecordTypel r[] int i PVector head  PVector tail)
{
for( int j=0;j<=RADIX-1;++j)
head[j]=0;
p=r[0].next;
while(p!=0)
{
j=Order();
if(head[j]==0)
head[j]=p;
else
r[tail[j]].next=p;
tail[j]=p;
p=r[p].next;
}
}


void Collect ( RecordTypel r[] int i PVector head  PVector tail)
{
j=0;
while(head[j]==0)
++j;
r[0].next=head[j];
t=tail[j];
while(j {
++j;
while( (j ++j;
if(head[j]!=0)
{
r[t].next=head[j];
t=tail[j];
}
}
r[t].next=0;
}


void RadixSort (RecordType r[]int length)
{
n=length;
for(i=0;i<=n-1;++i)
r[i].next=i+1;
r[n].next=0;
d=keynum;
for(i=d-1; i>=0; --1)
{
Distribute(riheadtail);
Collect(rheadtail);
}
}


void BinSrch(SpList l KeyType k)/*折半查找*/
{
low=1;high=;
while(low<=high)
{
mid=(low+high)/2;
if(k==l.r[mid].key)
return mid;
else if(k high=mid-1;
else
low=mid+1;
}
}





int main()
{
RadixSort();
return 0;
}



/* head=NULL;    链表的存储方式   读入方式可以采取头插法建立链表的方法来对每个文件进行读取。多插法的具体操作
p=(Rnode*)malloc(sizeof(Rnode));
p->next=NULL;
while( fscanf(f1“%s%s“p->keyp->name)!=EOF)
{
if(head==NULL)   l=head=p;
else
{
l->next=p;
l=p;
}
p=(Rnode*)malloc(sizeof(Rnode));
p->next=NULL;
}
*/

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2250  2013-12-24 10:59  1.cpp

----------- ---------  ---------- -----  ----

                 2250                    1


评论

共有 条评论

相关资源