实验一 顺序存储结构线性表的插入与删除

2020-07-01 09:41

实验一 顺序存储结构线性表的插入与删除

下面是顺序存储结构线性表的插入与删除算法:

int InsertSList(L[], n,i, x )

{ /* 在顺序存储结构的线性表L中第i个元素之前插人元素x,n为表长 */ if ((i<1) or (i>n+1)) {

printf(“参数非法”); return ( 0 ); } else

{ for (j = n; j≥i; j-- ) L[j+1] ? L[j]; a[j] ? x; n ? n + 1; return ( 1 ); } }

――――――――――――――――――――――――――――――――――― ElemType DeleteSList(L[], n, i)

{ /* 在顺序存储结构的线性表L中删除第i个元素。 */ if (i<1 or i>n) {

printf(“参数非法”); return ( 0 ); } else {

y ? L[i];

for (j=i+1; j

设线性表中元素类型为整型,且L=(10,25,52,09,31,88,26,44,50,78),请把上述算法用C或C++实现,并验证程序的正确性。程序结构提示如下:

#include “stdio.h” 函数原型 main() {

int L[100], n, temp;

线性表初始化; PrintList( ?? );

InsertSList( ?? ); PrintList( ?? );

temp = DeleteSList( ?? ); PrintList( ?? ); ?? }

int InsertSList( ?? ) {

?? }

ElemType DeleteSList( ?? ) {

?? }

void PrintList( ?? ) {

?? }

实验二 堆栈操作

仔细阅读下面的堆栈操作算法:

int PushStack(S[], top, bottom, x) {

if (top ≥ SMAX) {

printf(\; return ( 0 ); } else {

S[top] ? x; top ? top + 1; return ( 1 ); } }

―――――――――――――――――――――――――――――

ElemType PopStack(S[], top, bottom) {

if (top = 0) {

printf(\; return ( 0 ); } else {

top ? top - 1; return (S[top]); } }

写一程序实现上面的堆栈及其算法,并反复验证堆栈的操作,给出测试结果。

实验三 循环队列的实现

仔细阅读下面的算法,并用程序实现之。

int InsertCQueue(CQ[], front, rear, x) {

if ((rear+l) % QMAX) = front) {

printf(“队列满,不能插入”); return ( 0 ); } else {

rear ? (rear + l) % QMAX; CQ[rear] ? x; return ( 1 ); } }

―――――――――――――――――――――――――――――― ElemType DeleteCQueue(CQ[], front, rear) {

if (front = rear) {

printf(“队列已空,不能删除”); return ( 0 ); }

front ? (front + l) % QMAX; return (CQ[front]); }


实验一 顺序存储结构线性表的插入与删除.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:简单句与复杂句(练习)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: