顺序表创建和就地逆置

3-1 顺序表创建和就地逆置(10 分) 本题要求实现顺序表的创建和就地逆置操作函数。L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListReverse_Sq(SqList &L)是在不引入辅助数组的前提下将顺序表中的元素进行逆置,如原顺序表元素依次为1,2,3,4,则逆置后为4,3,2,1。 函数接口定义: Status ListCreate_Sq(SqList &L); void L 阅读详情

顺序表创建和就地逆置

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

函数接口定义:

Status ListCreate_Sq(SqList &L);
void ListReverse_Sq(SqList &L);

裁判测试程序样例:

//库函数头文件包含
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>

//函数状态码定义
#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<L.elem+L.length-1;++p){
        printf("%d ",*p);
    }
    printf("%d",*p); 
    }
    return 0;
}
/* 请在这里填写答案 */

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

输入样例:

4
1 2 3 4

输出样例:

4 3 2 1

Answer

C++版本
Status ListCreate_Sq(SqList &L) {
	L.elem = (ElemType*)malloc(sizeof(ElemType)*LIST_INIT_SIZE);
	if(!L.elem)
	exit(OVERFLOW);
	L.length = 0;
	L.listsize = LIST_INIT_SIZE;
	int num;
	scanf("%d",&num);
    if(num <= 0)
		return ERROR;
	while(num--){
		int number;
		scanf("%d",&number);
		L.elem[L.length++] = number;
	}
	return OK;
};
void ListReverse_Sq(SqList &L) {
	int p = L.length/2;
	if(L.length % 2 != 0){
		for(int i = 0,j = L.length-1;i < p,j > p;i++,j--){
			ElemType t;
			t = L.elem[i];
			L.elem[i] = L.elem[j];
			L.elem[j] = t;
		}
	}else{
		for(int i = 0,j = L.length-1;i < j;i++,j--){
			ElemType t;
			t = L.elem[i];
			L.elem[i] = L.elem[j];
			L.elem[j] = t;
		}
	}
};
C版本
Status ListCreate_Sq(SqList *L) {
	L->elem = (ElemType*)malloc(sizeof(ElemType)*LIST_INIT_SIZE);
	if(!L->elem)
	exit(OVERFLOW);
	L->length = 0;
	L->listsize = LIST_INIT_SIZE;
	int num;
	scanf("%d",&num);
	if(num <= 0)
		return ERROR;
	while(num--){
		int number;
		scanf("%d",&number);
		L->elem[L->length++] = number;
	}
	return OK;
};
void ListReverse_Sq(SqList *L) {
	int p = L->length/2;
	if(L->length % 2 != 0){
		for(int i = 0,j = L->length-1;i < p,j > p;i++,j--){
			ElemType t;
			t = L->elem[i];
			L->elem[i] = L->elem[j];
			L->elem[j] = t;
		}
	}else{
		for(int i = 0,j = L->length-1;i < j;i++,j--){
			ElemType t;
			t = L->elem[i];
			L->elem[i] = L->elem[j];
			L->elem[j] = t;
		}
	}
};
第四次作业 6-1 顺序表创建和就地逆置 6-1 顺序表创建和就地逆置(10 分) 本题要求实现顺序表的创建和就地逆置操作函数。L是一个顺序表,函数ListCreate_Sq(SqList &L)用于创建一个顺序表,函数ListReverse_Sq(SqList &L)是在不引入辅助数组的前提下将顺序表中的元素进行逆置,如原顺序表元素依次为1,2,3,4,则逆置后为4,3,2,1。 函数接口定义: Status Li 阅读详情

相关推荐

C语言实验1 大学C语言实验报告

大学C语言实验报告1 大学谭浩强版实验报告 PPT课件

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

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

799

一文读懂:CAN总线Bus-Off的触发条件与自动恢复机制

本文详细解析CAN总线Bus-Off状态的触发条件与自动恢复机制。根据ISO 11898-1标准,当发送错误计数器(TEC)超过255时节点进入Bus-Off状态,并通过检测128次总线空闲条件实现自动恢复。文章结合实战案例,探讨硬件故障、软件配置及电磁干扰等常见触发场景,并提供快慢恢复策略与调试方法,帮助工程师快速定位并解决CAN网络故障。

rgv234567的博客 358

6-1 顺序表操作集(创建、查找、插入、删除)

本题要求实现顺序表的操作集。 函数接口定义: List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool Delete( List L, Position P ); 其中List结构定义如下: typedef int Positi...

菜菜史迪仔的博客 1986

嵌入式下载故障排查:ST-LINK与GD32 Programmer典型问题解决

嵌入式固件烧录是MCU开发的关键环节,其本质依赖于调试器(如ST-LINK、GD-Link)与目标芯片间的协议通信、驱动加载及硬件接口协同。原理上,SWD/JTAG协议需在正确时序、电平与供电条件下完成设备枚举、ID读取与Flash编程;技术价值在于保障量产烧录稳定性与调试可重复性;典型应用场景涵盖STM32/GD32教学开发、工业控制板量产调试及Windows 11新系统适配。本文聚焦ST-LINK-V2在Keil MDK中的下载失败和GD32 All In One Programmer的DLL加载异常两

weixin_35006125的博客 153

【QGIS】利用“创建网格”功能实现区域等距分割与坐标转换实战

本文详细介绍了如何在QGIS中使用“创建网格”工具实现区域等距分割。通过实战演示,将北京市行政区划切割为150米正方形网格,并重点讲解了关键步骤:选择投影坐标系EPSG:3857以确保网格尺寸精确,以及将结果转换为常用的WGS84经纬度坐标。文章还涵盖了进阶技巧与常见问题解决方案,帮助用户高效完成空间网格化分析任务。

weixin_29232507的博客 94

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

6-1 顺序表创建和就地逆置 (10 分) 本题要求实现顺序表的创建和就地逆置操作函数。L是一个顺序表,函数ListCreate_Sq(SqList &amp;L)用于创建一个顺序表,函数ListReverse_Sq(SqList &amp;L)是在不引入辅助数组的前提下将顺序表中的元素进行逆置,如原顺序表元素依次为1,2,3,4,则逆置后为4,3,2,1。 函数接口定义: Status Lis...

banya1999的博客 856

时间序列:R语言ARMA-GARCH模型

ARMA: #读入数据,并绘制时序图 d<-read.table("C:/Users/haha/Desktop/R/zuoye/1.txt") x<-ts(log(d),start = 1) 1: x的时间序列图: x<-ts(log(d),start = 1) plot(x) 2: 从上图可以看出x.dif序列值在0的附近波动,没...

1万+

测验8.2 指针与字符串 6-1 函数实现字符串逆序

本题要求实现一个字符串逆序的简单函数。 函数接口定义: void f( char *p ); 函数f对p指向的字符串进行逆序操作。要求函数f中不能定义任何数组,不能调用任何字符串处理函数。 裁判测试程序样例: #include <stdio.h> #define MAXS 20 void f( char *p ); void ReadString( char *s ); /* 由裁判实现,略去不表 */ int main() { char s[MAXS]; ReadStr

世界在我口袋的博客 984

大整数因数分解工具——yafu

可以将大整数放在一个新建文件中——data.txt,最后面一定要换行,不然会出现eof;done processing batchfile,运行命令。2.点击设置——系统——系统信息——高级系统设置——环境变量——点击PATH(上下都可以)——新建 添加yafu-x64.exe 所在路径——点击确定。,如果整数数过长,会出现错误mismatched parens;1.找到yafu-x64.exe 所在的文件路径。如果出现以下图像,说明配置成功。3.打开cmd,输入。

l2ohvef的博客 6156

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran‘s I,LISA聚类地图,显著性地图

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran's I,单变量莫兰指数,双变量莫兰指数计算,LISA聚类地图,显著性地图,Geoda双变量莫兰指数是一种强大的地理空间数据分析工具。

智慧空间实验室 6049

6-1 简单输出整数 (10 分)(递归)

6-1 简单输出整数 (10 分) 本题要求实现一个函数,对给定的正整数N,打印从1到N的全部正整数。 函数接口定义: void PrintN ( int N ); 其中N是用户传入的参数。该函数必须将从1到N的全部正整数顺序打印出来,每个数字占1行。 裁判测试程序样例: #include <stdio.h> void PrintN ( int N ); int main () { int N; scanf("%d", &N); PrintN

m0_53535274的博客 1088

【OpenClaw从入门到精通】第02篇:5分钟速通!阿里云/华为云一键部署OpenClaw(附避坑指南·2026实测版)

本文聚焦OpenClaw的云端部署场景,针对本地部署“关机即离线、跨设备访问难”的痛点,详解阿里云(主推)和华为云(备选)的一键部署流程。2026实测验证:阿里云轻量应用服务器通过官方OpenClaw镜像可5分钟完成部署,华为云Flexus L实例需补充SSH配置步骤;文中拆解云端部署核心概念(地域选择、端口放行、成本构成),通过“AI助理定时抓取行业资讯并推送钉钉”的虚拟案例演示云端7×24小时运行价值,同时提供模型调用、服务器成本的精细化控制方案,梳理端口访问失败、API-Key权限异常等高频坑点的解决

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 5542

6-1 顺序表创建和就地逆置

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

Abyss_sliver的博客 1714

【ComfyUI】QwenImageEdit + Z-Image 面部融合图生图

本文介绍了一种基于Stable Video Diffusion(SVD)模型的ComfyUI图生视频工作流,能够将静态图片转换为动态视频。工作流包含模型加载、图像导入、条件生成、视频采样、解码合成等8个核心步骤,通过SVD_img2vid_Conditioning节点实现视觉语义转换。该方案适用于创意视频制作、产品演示等场景,支持设计师和AI爱好者快速实现"以图生动"效果。文中详细说明了工作流架构、关键节点功能、操作流程及应用案例,并提供了模型参数和使用注意事项。

Mr数据杨 1806

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

6-1顺序表创建和就地逆置(函数题)

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

qq_43839907的博客 741

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

顺序表——顺序表的创建和就地逆置

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

Yolanda_Vamper的博客 1805

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

Changqing9的博客 366

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

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

千色千寻的博客 1054
上一篇: 顺序表操作集
下一篇: 线性表元素的区间删除
Sancean
博客等级 码龄6年 2472粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值