当前位置: 首页 > article >正文

两道数据结构编程题

1.写出在顺序存储结构下将线性表逆转的算法,要求使用最少的附加空间。
解:输入:长度为n的线性表数组A(1:n)
输出:逆转后的长度为n的线性表数组A(1:n)。
C语言描述如下(其中ET为数据元素的类型):
在这里插入图片描述
2. 编写程序,将若干整数从键盘输入,以单链表形式存储起来,然后计算单链表中结点的个数(其中指针P指向该链表的第一个结点)。
解:编写C程序如下(已上机通过):
全局变量及函数提前说明:

#include<stdio.h>
#include<stdlib.h>
typedef struct liuyu{int data;struct liuyu*link;}test;
liuyu *p,*q,*r,*head;
int m=sizeof(test);

void main () /第一步,从键盘输入整数,不断添加到链表/
{int i;
head=(test*)malloc(m); /m=sizeof(test);/
p=head; i=0;
while (i!=-9999)
{ printf(“/ninput an integer [stop by ‘-9999’]:”);
scanf(“%d”,&i);
p->data=i; /* input data is saved /
p->link=(test
)malloc(m); /m=sizeof(test));/
q=p;
p=p->link;
}
q->link=NULL; /原先用p->link=NULL似乎太晚!/

p=head; i=0; /统计链表结点的个数并打印出来/
while (p->link!=NULL)
{printf(“%d”,p->data);
p=p->link;
i++;
}
printf(“\n node number=%d\n”, i-1); /结点的个数不包括-9999/
}


http://www.kler.cn/a/418452.html

相关文章:

  • 【Oracle11g SQL详解】GROUP BY 和 HAVING 子句:分组与过滤
  • 3. STM32_串口
  • ARM CCA机密计算安全模型之硬件强制安全
  • Springboot——SseEmitter流式输出
  • flink1.6集成doris,并从mysql同步数据到doris
  • 使用zabbix监控k8s
  • 聊一聊汽车网络安全
  • 腾讯微众银行前端面试题及参考答案
  • 侯捷STL标准库和泛型编程
  • 使用Gradle编译前端的项目
  • 【大数据学习 | Spark】Spark on hive与 hive on Spark的区别
  • buuctf-[SUCTF 2019]EasySQL 1解题记录
  • C#tabcontrol如何指定某个tabItem为默认页
  • 量化交易系统开发-实时行情自动化交易-8.4.MT4/MT5平台
  • 触觉智能亮相OpenHarmony人才生态大会2024
  • k8s--pod创建、销毁流程
  • 【学术投稿】Imagen:重塑图像生成领域的革命性突破
  • 反向传播、梯度下降与学习率:深度学习中的优化艺术
  • kafka消息在client是怎么写入的
  • 探索未来:深入人工智能学习框架的奥秘与实践
  • 设计有一个 “分布式软总线“ 系统,跨平台
  • 基于Java Springboot生鲜食品订购微信小程序
  • Next.js - app 路由器之动态路由与并行路由
  • [MacOS] [kubernetes] MacOS玩转虚拟化最佳实践
  • 4399大数据面试题及参考答案(数据分析和数据开发)
  • 《Python基础》之Python中可以转换成json数据类型的数据