欢迎来到天天文库
浏览记录
ID:17530097
大小:55.50 KB
页数:13页
时间:2018-09-02
《数据结构实验报告内容及格式》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验一线性表顺序存储与操作1实验目的编写程序建立顺序存储的线性表L,其数据元素按非递减有序排列,插入一个元素X后,该线性表L仍保持有序。2实验内容/*2005-03-04-------------------------------------------------------实验内容:编写程序建立顺序存储的线性表L,其数据元素按非递减有序排列,插入一个元素X后,该线性表L仍保持有序。实验要求:L的存储结构为:#defineLIST_INIT_SIZE100//顺序表存储空间的初分配量#defineLISTINCREMENT10//顺序表存储空间的分配增量struct//线性表的
2、结构{int*elem;//存储空间的基地址intlength;//当前的长度intlistsize;//当前分配的容量};测试数据:建立:1,3,5,7,9插入:x=-1,6,10-----------------------------------------------------------------------*/#include#include#include#include#defineLIST_INIT_SIZE100//顺序表存储空间的初分配量#defineLISTINCREMENT10
3、//顺序表存储空间的分配增量typedefstruct//线性表的结构{int*elem;//存储空间的基地址intlength;//当前的长度intlistsize;//当前分配的容量}SQLIST;voidCreate(SQLIST&L)//建立线性表{L.elem=(int*)malloc(LIST_INIT_SIZE*sizeof(int));if(!L.elem)printf("为线性表分配空间失败!");L.length=0;L.listsize=LIST_INIT_SIZE;}voidInsert(SQLIST&A,intx)//实现有序的插入操作{if(A.leng
4、th==A.listsize)printf("线性表错误!");if(x>A.elem[A.length-1])A.elem[A.length]=x;//与最大的元素进行判断,以决定是否插在最后else{inti=0;while(x>=A.elem[i])i++;//从第一个元素起,寻找正确的插入位置for(intj=A.length;j>=i;j--)A.elem[j+1]=A.elem[j];//将所找位置后面的所有数据都向右移动一个位置A.elem[i]=x;//插入新的数据}A.length++;//顺序表的长度加1}voidmain(){printf("程序说明:")
5、;printf("建立顺序存储的单链表,其数据元素按元素值非递减有序排列,插入一个数据元素后,该线性表仍保持有序");SQLISTs;Create(s);//为线性表分配空间s.elem[0]=1;//建表s.elem[1]=3;s.elem[2]=5;s.elem[3]=7;s.elem[4]=9;s.length=5;printf("已建立的顺序表为:");for(inti=0;i6、sert(s,tmp);printf("插入数据后的顺序表为:");for(i=0;i#include#include#include7、.h>#include#defineERROR0#defineOK1#defineEQUAL1#defineOVERFLOW-1#defineLIST_INIT_SIZE100#defineLISTINCREMENT10structSTU{\线性表的结构charname[20];charstuno[10];intage;intscore;}stu[50];typedefstructSTUElemType;structLNODE{ElemTyped
6、sert(s,tmp);printf("插入数据后的顺序表为:");for(i=0;i#include#include#include7、.h>#include#defineERROR0#defineOK1#defineEQUAL1#defineOVERFLOW-1#defineLIST_INIT_SIZE100#defineLISTINCREMENT10structSTU{\线性表的结构charname[20];charstuno[10];intage;intscore;}stu[50];typedefstructSTUElemType;structLNODE{ElemTyped
7、.h>#include#defineERROR0#defineOK1#defineEQUAL1#defineOVERFLOW-1#defineLIST_INIT_SIZE100#defineLISTINCREMENT10structSTU{\线性表的结构charname[20];charstuno[10];intage;intscore;}stu[50];typedefstructSTUElemType;structLNODE{ElemTyped
此文档下载收益归作者所有