数据结构作业4--线性表类型定义与顺序表 *** 作(函数题)

数据结构作业4--线性表类型定义与顺序表 *** 作(函数题),第1张

概述本文章向大家介绍数据结构作业4--线性表类型定义与顺序表 *** 作(函数题),主要包括数据结构作业4--线性表类型定义与顺序表 *** 作(函数题)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

6-1 顺序表创建和就地逆置 (10 分)

本题要求实现顺序表的创建和就地逆置 *** 作函数。L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListReverse_Sq(SqList &L)是在不引入辅助数组的前提下将顺序表中的元素进行逆置,如原顺序表元素依次为1,2,3,4,则逆置后为4,1。

函数接口定义:

Status ListCreate_Sq(SqList &L);


voID ListReverse_Sq(SqList &L);

裁判测试程序样例:

//库函数头文件包含

#include

#include

#include

//函数状态码定义

#define TRUE 1

#define FALSE 0

#define OK 1

#define ERROR 0

#define INFEASIBLE -1

#define OVERFLOW -2

typedef int Status;

//顺序表的存储结构定义

#define List_INIT_SIZE 100

#define ListINCREMENT 10

typedef int ElemType; //假设线性表中的元素均为整型

typedef struct{

ElemType* elem; //存储空间基地址

int length; //表中元素的个数

int Listsize; //表容量大小

}SqList; //顺序表类型定义

Status ListCreate_Sq(SqList &L);

voID ListReverse_Sq(SqList &L);

int main() {

SqList L;

ElemType *p;

if(ListCreate_Sq(L)!= OK) {

printf("ListCreate_Sq: 创建失败!!!n");

return -1;

}

ListReverse_Sq(L);

if(L.length){

for(p=L.elem;p

printf("%d ",*p);

}

printf("%d",*p);

}

return 0;

}

/* 请在这里填写答案 */

输入格式: 第一行输入一个整数n,表示顺序表中元素个数,接下来n个整数为表元素,中间用空格隔开。 输出格式: 输出逆置后顺序表的各个元素,两个元素之间用空格隔开,最后一个元素后面没有空格。

输入样例:

4


1 2 3 4

输出样例:

4 3 2 1

int n;

Status ListCreate_Sq(SqList &L)//顺序表的创建

{

scanf("%d",&n);

L.elem=(ElemType*)malloc(n*sizeof(ElemType));

if(!L.elem) return OVERFLOW;

L.length=n;

L.Listsize=n;

for(int i=0; i

scanf("%d",&L.elem[i]);

return OK;

}

voID ListReverse_Sq(SqList &L)

{

int tp;

for(int i=0; i

{

tp=L.elem[i];

L.elem[i]=L.elem[n-1-i];

L.elem[n-1-i]=tp;

}

}

总结

以上是内存溢出为你收集整理的数据结构作业4--线性表类型定义与顺序表 *** 作(函数题)全部内容,希望文章能够帮你解决数据结构作业4--线性表类型定义与顺序表 *** 作(函数题)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1264752.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存