数据结构与算法实验源代码
数据结构与算法实验程序
实验二
#include<stdio.h>
#include<stdlib.h>
#define Maxlen 100
typedef struct{
int data[Maxlen]; int last;
}Sequenlist;
Sequenlist *SqLsetnull(){ //建立一个空的顺序表
Sequenlist *L; L=(Sequenlist *)malloc(sizeof(Sequenlist)); L->last=-1;
return L;
}
void *SqLset(Sequenlist *L){ //对顺序表输入数据
int n; printf("请输入要输入的元素数量:"); scanf("%d",&n); printf("请输入要输入的元素:"); for(int i=0;i<n;i++){ scanf("%d",&L->data[i]);
}
L->last=i;
return L;
}
int SqLdelete(Sequenlist *L,int i){ //删除顺序表中的元素
//因为只是调用该函数删除顺序表中多余的元素省略的一些数据判断
int j; for(j=i;j<=L->last+1;j++) L->data[j]=L->data[j+1]; L->last--;
return 1;
}
void SqLdel(Sequenlist *L){ //寻找顺序表中多余的元素并删除
int i,j; if(L->last<0){ printf("\n顺序表为空\n"); } else{ for(i=0;i<=L->last;i++){ for(j=i+1;j<=L->last;j++) if(L->data[j]==L->data[i]){ SqLdelete(L,j); //调用函数删除下标为j的结点
数据结构与算法实验程序
}
}
}
}
void SqLsc(Sequenlist *L){ //输出顺序表中的数据
int i; if(L->last<0) printf("\n顺序表为空\n"); else{ printf("顺序表中的元素:"); for(i=0;i<L->last;i++){ } printf("%d ",L->data[i]); } printf("\n");
}
int main(void){
Sequenlist *L;
L=SqLsetnull(); int choice; printf("1,输入数据 2,删除重复多余的数据 3,输出数据 0,退出 \n"); do{ printf("请输入选择:"); scanf("%d",&choice); switch(choice){ case 1: SqLset(L); printf("\n"); break; case 2: SqLdel(L); printf("\n"); break; case 3: SqLsc(L); printf("\n"); break; default: printf("请输入正确的选择!\n"); break; case 0: break; }
数据结构与算法实验程序
} return 0;
实验三
#include<stdio.h>
#include<stdlib.h>
#define SIZE 15
typedef struct{
int data[SIZE];
int last;
}RecordList;
RecordList *shuru(){ //向顺序表中输入数据
int s,i=0; RecordList *L; L=(RecordList *)malloc(sizeof(RecordList)); printf("请输入要输入到顺序表中数据的数量:"); scanf("%d",&s); if(s>15){ printf("超过最大的数据长度"); } else{ printf("请输入要输入的数据:"); for(i=0;i<s;i++) scanf("%d",&L->data[i]); } printf("成功输入%d个数据 \n\n",i); L->last=i-1;
return L;
}
void paixu(RecordList *L){ //冒泡排序法对顺序表中的数据进行排序
int x,change=1,i,j; for(i=0;i<L->last&&change!=0;i++){ change=0; for(j=0;j<L->last-i;j++){
数据结构与算法实验程序
} } } } x=L->data[j+1]; L->data[j+1]=L->data[j]; L->data[j]=x; change=1;
int BinSrch(RecordList *L,int k){ //二分查找
int low=0,i=-1,high,mid; high=L->last; while(low<=high){ mid=(low+high)/2; if(k==L->data[mid]){ } i=mid; break; else if(k<L->data[mid]) high=mid-1; else low=mid+1; } return i;
}
int main(void)
{
RecordList *L=NULL; int i,choice,data1; printf("1,输入数据 2,二分法查找 do{ printf("请输入选择:"); scanf("%d",&choice); switch(choice){ case 1: L=shuru(); //输入数据 paixu(L); //数据排序 break; 0,退出\n"); case 2: if(L==NULL||L->last==-1){ //查找前检验表中是否有数据 } printf("\n顺序表为空\n\n"); break;
数据结构与算法实验程序
} printf("请输入要查找的数据:"); } scanf("%d",&data1); i=BinSrch(L,data1); printf("数据%d的序号(下标)是%d \n\n",data1,i); break; default: printf("\n请输入正确的选择\n\n"); break; case 0: break; } }while(choice!=0); return 0;
实验四
#include<stdio.h>
#include<stdlib.h>
#define SIZE 15
typedef struct{
int data[SIZE];
int last;
}RecordList;
RecordList *shuru(){ //向顺序表中输入数据
int s,i=0; RecordList *L; L=(RecordList *)malloc(sizeof(RecordList)); printf("请输入要输入到顺序表中数据的数量:"); scanf("%d",&s); if(s>15){ printf("超过最大的数据长度"); } else{
数据结构与算法实验程序
printf("请输入要输入的数据:"); for(i=0;i<s;i++) scanf("%d",&L->data[i]); } printf("成功输入%d个数据 \n\n",i); L->last=i-1; return L;
}
void paixu(RecordList *L){ //冒泡排序法对顺序表中的数据进行排序
}
void shuchu(RecordList *L){
int i; for(i=0;i<=L->last;i++){ } printf("%d ",L->data[i]); int x,change1=1,change2=1,i,j; for(i=0;change1!=0||change2!=0;i++){ change1=0; } change2=0; if(i%2==0){ for(j=1;j<L->last;j=j+2){ if(L->data[j]>L->data[j+1]){ } x=L->data[j+1]; L->data[j+1]=L->data[j]; L->data[j]=x; change1=1; } } else{ for(j=0;j<L->last;j=j+2){ } } if(L->data[j]>L->data[j+1]){ x=L->data[j+1]; } L->data[j+1]=L->data[j]; L->data[j]=x; change2=1;
}
int main(void)
数据结构与算法实验程序
{
} RecordList *L=NULL; int choice; printf("1,输入数据 2,冒泡排序 do{ printf("请输入选择:"); scanf("%d",&choice); switch(choice){ case 1: L=shuru(); //输入数据 break; case 2: paixu(L); …… 此处隐藏:7618字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [政务民生]2013年公共基础知识热点问题(七)
- [政务民生]检验检测机构资质认定评审准则及释义20
- [政务民生]关于印发重庆市房屋建筑和市政基础设施
- [政务民生]1、隧道洞身开挖支护施工技术交底书
- [政务民生]2015年山东省17地市中考语文试题分类汇
- [政务民生]2-高级会计师资格考试和评审流程图
- [政务民生]2018版中国清分机行业发展分析及前景策
- [政务民生]新课改高中政治探究
- [政务民生]2018-2024年中国新型组合房屋行业投资
- [政务民生]2015年上海市春季高考数学模拟试卷五
- [政务民生]灌砂法及环刀法测压实度(带计算过程)
- [政务民生]运筹学实验2求解非线性规划
- [政务民生]劝学、逍遥游默写(教师卷)
- [政务民生]《运筹学》 - 期末考试 - 试卷A - 答案
- [政务民生]八年级英语下册 Module 6 Hobbies测试
- [政务民生]2019年宪法知识竞赛试题库100题(含答
- [政务民生]自动化英文文献翻译
- [政务民生]公文格式实施细则
- [政务民生]高一地理上册课堂跟踪练习题6
- [政务民生]会计继续教育习题及答案
- 第三章 无约束最优化方法
- 泛读教程第三册答案
- 魏晋南北朝文学
- 幂的运算复习题
- 城市环境问题的成因与治理策略_以社会
- 钢结构行业产业链及竞争分析研究
- 新型热塑性弹性体增韧聚丙烯的研究
- 中国旅游地理B卷试题及答案
- (苏教版)五年级数学上册第三单元测试卷
- 不稳定性心绞痛诊断与治疗
- 俞氏国际后勤职能部门绩效考核办法
- GB7258-2017新标准考试题含答案
- 小学生汉字听写比赛活动方案
- 1.3《平抛运动》学案 教科版必修2
- 2011香港特别行政区公务员考试复习资料
- 考虑水力条件变化的城市给水管网可靠性
- 表面活性剂在油田开发和生产中的应用
- ITT内部培训资料-FI端吸泵的介绍
- 文明守纪,从我做起学生发言稿
- 初中读《聊斋志异》心得体会800字范文




