经典数据结构上机题—答案
经典数据结构上机题—答案
经典数据结构上机题—答案
数据结构上机实验题目
实验一 线性表的顺序存储结构
实验学时 2学时
背景知识:顺序表的插入、删除及应用。
目的要求:
。
2.掌握顺序存储结构的常见算法。
实验内容
1。输入一组整型元素序列,建立顺序表。
2。实现该顺序表的遍历。
,查找成功返回1,否则返回0。
,对称返回1,否则返回0.
5。实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。
6.输入整型元素序列利用有序表插入算法建立一个有序表。
7.利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。
8. 利用该顺序结构实现循环队列的入队、出队操作.
8。编写一个主函数,调试上述算法。
#include <〉
#include <>
#define OVERFLOW 0
#define MAXSIZE 100
typedef int ElemType;
typedef struct list
{ElemType elem[MAXSIZE];
int length;
}Sqlist;
经典数据结构上机题—答案
经典数据结构上机题—答案
经典数据结构上机题—答案
void Creatlist(Sqlist &L)
{int i;
printf(”请输入顺序表的长度:");ﻩ //输入一组整型元素序列,建立一个顺序表。
scanf(”%d”,&);
for(i=0;i<L。length;i++)
ﻩ scanf("%d",&L.elem[i]);
}
void printlist(Sqlist &L) ﻩ//以输出的形式实现对该顺序表的遍历
{int i;
for(i=0;i<L.length;i++)
ﻩ printf(”%d ",[i]);
printf("\n");
}
void Searchlist(Sqlist &L,int x)ﻩﻩ//在顺序表中进行顺序查找某一元素x,查找成功则返回其存储位置i,否则返回错误信息
{int i,k=—1;
for(i=0;i〈;i++)
ﻩ if([i]==x){
ﻩﻩ k=i+1;printf("%d ",k);}
if(k==-1)
ﻩ printf("error!");
printf("\n");
}
void Inseri(Sqlist &L,int i,int x) ﻩ//在顺序表的第i个位置上插入一个元素x
{int j;
for(j=L。length;j〉=i;j-—)
[j]=L。elem[j—1];
[j]=x;
++;
}
void Delete(Sqlist &L,int i)ﻩﻩ//删除顺序表中第i个元素
{int j;
for(j=i;j<;j++)
ﻩL.elem[j—1]=L。elem[j];
--;
}
void Insert(Sqlist &L,int x)ﻩ //输入一个元素x,把它插入到有序表中,使顺序表依然有序。
经典数据结构上机题—答案
经典数据结构上机题—答案
经典数据结构上机题—答案
{int i,j;
if(L.length==MAXSIZE) exit(OVERFLOW);ﻩ//表满,不能插入
for(i=1;i<=L。length&&[i-1]〈=x;i++);
ﻩ for(j=L.length;j>=i;j—-)
ﻩ L。elem[j]=[j-1];
L。elem[i-1]=x;
++;
}
void Creatlist_sorted(Sqlist &L)ﻩﻩ//利用有序表插入算法建立一个有序表
{int i,num;
ElemType x;
L.length=0;
printf(”请输入顺序表的长度:”);
scanf(”%d”,&num);
for(i=1;i<=num;i++)
{
ﻩ scanf(”%d”,&x);
ﻩ Insert(L,x);
}
}
void Merger(Sqlist &p,Sqlist &r,Sqlist &c) //建立两个非递减有序表,并把它们合并成一个非递减有序表
{
Ele
经典数据结构上机题—答案 来自淘豆网www.taodocs.com转载请标明出处.