下载此文档

数据结构上机实验报告.doc


文档分类:高等教育 | 页数:约23页 举报非法文档有奖
1/23
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/23 下载此文档
文档列表 文档介绍
数据结构实验报告

要求:实现顺序表的初始化、在指定位置插入和删除元素。
算法思路:线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。顺序表的初始化操作就是为顺序表分配一个预定义大小的空间,并将线性表的当前长度设为“0”。线性表的插入操作是在线性表的第i-1个数据元素和第i个元素之间插入新的数据元素,使得长度为n的线性表变成长度为n+1的线性表,而删除恰好相反长度变为n-1的线性表,而且删除点后面的元素要往前移动一个位。
程序代码:
#include <>
#include <>
#define MAXSIZE 50
typedef char elemtype;
typedef struct //类型定义
{ elemtype v[MAXSIZE];
int last;
}SeqList;
SeqList *Init_SeqList() //初始化操作
{
SeqList *L;
L=(SeqList*)malloc(sizeof(SeqList));
L->last=-1;
return L;
}
void Create(SeqList *L) //建立顺序表
{
int i=0;
elemtype ch;
scanf("%c",&ch);
while(ch!='\n')
{
L->v[i++]=ch;
scanf("%c",&ch);
L->last=i-1;
}
}
void PrintL(SeqList *L) //输出顺序表
{
int i;
printf("此表为:\n");
for(i=0;i<L->last;i++)
{
printf("%c",L->v[i]);
}
printf("%c\n",L->v[i]);
}
void Length(SeqList *L) //顺序表长度函数
{
printf("此表长度:\n%d",L->last+1);
printf("\n");
}
void insert(SeqList *L,int i,elemtype x) //插入函数
{
int j;
if(L->last==0)
printf("Error!\n");

if(i<1||i>L->last)
printf("Error!");
for(j=L->last;j>=i-1;j--)
L->v[j+1]=L->v[j];
L->v[i-1]=x;
L->last++;
PrintL(L);
Length(L);
}
void Delete(SeqList *L,int i) //删除函数
{
int j;
if(L->last==-1)
printf("Error!");
if(i<1||i>L->last+1)
printf("Error!");
for(j=i;j<=L->last;j++)
L->v[j-1]=L->v[j];
L->last--;
PrintL(L);
Length(L);
}
void main() //程序主函数
{
int i,j,k;
elemtype a,b;
SeqList *L;
L=Init_SeqList();
printf("建立顺序表:\n");
Create(L);
PrintL(L);
Length(L) ;
printf("\n");
printf("请输入你想插入的元素及其位置:\n");
scanf("%s %d",&b,&j);
insert(L,j,b);
printf("请输入你想删除的位置:\n");
scanf("%d",&k);
Delete(L,k);
}
程序运行:
单链表
要求:实现单链表的初始化、在指定位置插入和删除元素。
算法思路:线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素。因此,为了表现每个元素与后继元素的逻辑关系需要用到指针。单链表的插入就是先生成一个数据域为插入元素的界点然后插入单链表中,并且修改前后节点的指针域,完成插入操作。
反之删除链表元素时仅需修改前后两个元素的节点使之相连便可。
程序代码:
#define NULL 0
#include ""
#include""
typedef struct LNode
{
int data;
struct

数据结构上机实验报告 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数23
  • 收藏数0 收藏
  • 顶次数0
  • 上传人86979448
  • 文件大小269 KB
  • 时间2017-12-12