两道数据结构编程题

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 /

}

相关推荐
hefaxiang7 小时前
分支循环(下)(二)
c语言·开发语言·数据结构
2501_937193148 小时前
技术加持!PLB-TV:HDR10+UDP 传输
android·源码·源代码管理·机顶盒
霸王大陆10 小时前
《零基础学 PHP:从入门到实战》模块十:从应用到精通——掌握PHP进阶技术与现代化开发实战-2
android·开发语言·php
@小码农10 小时前
2025年北京海淀区中小学生信息学竞赛第二赛段C++真题
开发语言·数据结构·c++·算法
合方圆~小文10 小时前
不同画面,三个镜头实时监控拍摄方案
数据结构·数据库·人工智能
Q87622396510 小时前
西门子S7 - 1200控制5轴伺服程序与维纶触摸屏画面案例分享
数据结构
代码雕刻家11 小时前
1.9.课设实验-数据结构-图-校园跑最短路径
c语言·数据结构·算法·图论
.YM.Z11 小时前
【数据结构】:排序(二)——归并与计数排序详解
数据结构·算法·排序
武帝为此11 小时前
【数据结构之树状数组】
数据结构·算法
天赐学c语言11 小时前
12.6 - K个一组翻转链表 && C 编译到执行的4个阶段
数据结构·c++·链表·c编译