课程设计首页 课程设计首页 数据结构课程设计 数据结构课程设计 C语言课程设计 C语言课程设计 电子课程设计 电子课程设计 微机原理课程设计 微机原理课程设计 机械设计课程设计 机械设计课程设计 软件工程课程设计 软计工程课程设计 平面设计课程设计 平面设计课程设计 单片机课程设计 单片机课程设计  课程设计报告 课程设计报告 课程设计心得体会 课程设计心得体会
           
课程设计栏目热门文章
·数据结构的课程设计总结
·成绩管理系统c语言版
·数据结构课程设计_赫夫曼
·数据结构课程设计_校园导
·数据结构课程设计_迷宫问
·数据结构课程设计_算术表
·数据结构课程数据_飞机订
·数据结构课程设计_单链表
·数据结构课程设计_图的遍
·数据结构课程设计_Huffman
·数据结构课程设计_用静态
·数据结构课程设计_成绩管
·数据结构课程设计_joseph
·数据结构课程设计_文本编
·数据结构课程设计_迷宫问
·数据结构课程设计_拓扑排
·数据结构课程设计_几种常
·数据结构课程设计_约瑟夫
·数据结构课程设计_最小生
·数据结构课程设计_哈夫曼
·学生成绩管理系统(c语言)
·图邻接矩阵 邻接表的建立c
·图书管理系统c++版_数据结
·通讯录(c++)_数据结构课
当前位置:首页>数据结构课程设计> 正文
航班_数据结构课程设计 我的源码
文章发布:课程设计网 发布时间:2007-04-26
  数据结构课程设计 航班 我的源码

// HBXX.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#define maxspace 100
#define keylen 7
#define radix_n 10
#define radix_c 26
typedef char keytype;
typedef struct
{
char start[6];
char end[6];
char sche[10];
char time1[5];
char time2[5];
char model[4];
int price;
}infotype;
typedef struct
{
keytype keys[keylen];
infotype others;
int next;
}slnode;
typedef struct
{
slnode sl[maxspace];
int keynum;
int length;
}sllist;
typedef int arrtype_n[radix_n];
typedef int arrtype_c[radix_c];



void distribute(slnode *sl,int i,arrtype_n f,arrtype_n e)
{
int j,p;
for(j=0;j<radix_n;j++)
{
f[j]=e[j]=0;
}
for(p=sl[0].next;p;p=sl[p].next)
{
j=sl[p].keys[i]%48;
if(!f[j])
f[j]=p;
else
sl[e[j]].next=p;
e[j]=p;
}
}

void collect(slnode *sl,int i,arrtype_n f,arrtype_n e)
{
int j,t;
for(j=0;!f[j];j++);
sl[0].next=f[j];
t=e[j];
while(j<radix_n-1)
{
for(j=j+1;j<radix_n-1&&!f[j];j++);
if(f[j])
{
sl[t].next=f[j];
t=e[j];
}
}
sl[t].next=0;
}

void distribute_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
{
int j,p;
for(j=0;j<radix_c;j++)
{
f[j]=e[j]=0;
}
for(p=sl[0].next;p;p=sl[p].next)
{
j=sl[p].keys[i]%65;
if(!f[j])
f[j]=p;
else
sl[e[j]].next=p;
e[j]=p;
}
}

void collect_c(slnode *sl,int i,arrtype_c f,arrtype_c e)
{
int j,t;
for(j=0;!f[j];j++);
sl[0].next=f[j];
t=e[j];
while(j<radix_c-1)
{
for(j=j+1;j<radix_c-1&&!f[j];j++);
if(f[j])
{
sl[t].next=f[j];
t=e[j];
}
}
sl[t].next=0;
}

void radixsort(sllist &l)//链式
{
int i;
arrtype_n fn,en;
arrtype_c fc,ec;
for(i=0;i<l.length;i++)
l.sl[i].next=i+1;
l.sl[l.length].next=0;
for(i=l.keynum-1;i>=2;i--)
{
distribute(l.sl,i,fn,en);
collect(l.sl,i,fn,en);
}
for(i=1;i>=0;i--)
{
distribute_c(l.sl,i,fc,ec);
collect_c(l.sl,i,fc,ec);
}
}

共2页: 上一页 1 [2] 下一页

上一篇:停车场管理器_数据结构课程设计   下一篇:数据结构课程设计题目和要求
COPYRIGHT© 2006-2008 WWW.UT365.COM ONLINE SERVICES. ALL RIGHTS RESERVED. 鲁ICP备05047946号