《数据结构代码汇总》.docVIP

  • 22
  • 0
  • 约1.85万字
  • 约 17页
  • 2020-01-25 发布于天津
  • 举报
实验一 /*******************线性表的应用*******************/ #includestdio.h int n,j,k; //声明结构体类型,并确定其成员变量 typedef struct student { char name[20]; char sex[5]; int age; long long tel; long qq; char email[50]; }person; person a[100];//输入链表的个人信息 void creat(int n){ if(n100){ printf(超出划定内存); //判断所存个人信息是否超出内存 } else int i=0; for(int i=0;in;i++){ printf(依次输入 姓名 性别 年龄 电话号码 QQ号 Email地址(回车键隔开)); inputname(); //输入姓名 inputtel(); //输入电话 scanf(%d,a[i].age); scanf(%d,a[i].tel); scanf(%d,a[i].qq); inputemail(); //输入email地址 } } //输入第i个成员数据 void shuru(int i){ printf(依次输入 姓名 性别 年龄 电话号码 QQ号 Email地址(回车键隔开)); inputname(); //输入姓名 inputtel(); //输入电话 scanf(%d,a[i].age); scanf(%d,a[i].tel); scanf(%d,a[i].qq); inputemail(); //输入email地址 } //创建一个姓名输入方法 void inputname(){ char name[20]; for(int i=0;i20;i++) scanf(%c,name[i]); } //创建电话输入方法 void inputtel(){ char tel[15]; for(int i=0;i15;i++) scanf(%c,tel[i]); } //创建email输入方法 void inputemail(){ char email[50]; for(int i=0;i50;i++) scanf(%c,email[i]); } //插入方法 插入第i个成员 void insert(int k){ if(k0 || k100) printf(插入位置错); else { int i; for(i=n;ik;i--) a[i+1]=a[i]; shuru(k); } } //删除第k个元素 void dele(int k){ if(k0 || kn) printf(删除位置不存在); else for(int k; kn;k++) a[k]=a[k+1]; } void main(){ printf(输入您将输入的通讯录人数); scanf(%d,n); creat(n); printf(输入插入的位置); scanf(%d,k); insert(k); printf(输入删除的位置); scanf(%d,j); creat(j); } 实验二/********************求哈夫曼编码********************/ #includestdio.h #includemalloc.h #includestdlib.h using namespace std; #define n 5 #define m 2*n-1 #define infinity 32727 struct HTNode{ unsigned int weight; unsigned int plink,rlink,llink; }*HuffmanTree; struct codetype{ int start; char bits[n+1]; }; struct element{ char symbol; codetype code; }; struct element table[n+1]; inline void select(struct HTNode ht[2*n],int s,int x1,int x2) { int i; float v1,v2;

文档评论(0)

1亿VIP精品文档

相关文档