我们在学习编程的过程中,虽然有些语法很简单,但是我们还是要做多题。不做题是发现不了问题的,发现问题我们就可以“对症下药”,进行查漏补缺了。刷题可以先从简单题开始刷,熟练之后再做一些可以提升自己能力的题
单链表的遍历
描述:
牛牛从键盘输入一个长度为 n 的数组,问你能否用这个数组组成一个链表,并顺序输出链表每个节点的值。
输入描述:
第一行输入一个正整数 n ,表示数组的长度
第二行输入n个数据
输出描述:
制作一个链表然后输出这个链表的值
输入:
4 5 4 2 1
输出:
5 4 2 1
#include<stdio.h>
#include<stdlib.h>
typedef int DataType;
typedef struct linklist
{
DataType x;
struct linklist *next;
}LinkList;
LinkList* InitLinkList()
{
LinkList* head;
head = (LinkList*)malloc(sizeof(LinkList));
head->next = NULL;
return head;
}
void CreateListL(LinkList* head,int n)
{
LinkList* s;
LinkList* last;
last = head;
int i = 0;
for (i = 0; i < n; i++)
{
s = (LinkList*)malloc(sizeof(LinkList));
scanf("%d",&s->x);
s->next = NULL;
last->next = s;
last = s;
}
}
void print(LinkList* head)
{
LinkList* p;
p = head->next;
while (p != NULL)
{
printf("%d ", p->x);
p = p->next;
}
}
int main()
{
int n = 0;
scanf("%d", &n);
LinkList *S = InitLinkList();
CreateListL(S,n);
print(S);
return 0;
}对于这个问题,我们要注意两个地方:
1.我们平时对单链表进行遍历往往是从前往后遍历
2.输入样例的顺序和遍历的顺序是一样的,这就要求我们使用尾插法创建单链表。
单链表的求和
描述:
牛牛输入了一个长度为 n 的数组,他想把这个数组转换成链表,链表上每个节点的值对应数组中一个元素的值,然后遍历链表并求和各节点的值。
输入描述:
第一行输入一个正整数 n ,表示数组的长度。
第二行输入 n 个正整数,表示数组中各个元素的值。
输出描述:
把数组转换成链表然后对其求和并输出这个值。
输入:
5 5 2 3 1 1
输出:
12
#include<stdio.h>
#include<stdlib.h>
typedef int DataType;
typedef struct linklist
{
DataType data;
struct linklist* next;
}LinkList;
LinkList* InitList()
{
LinkList* head;
head = (LinkList*)malloc(sizeof(LinkList));
head->next=NULL;
return head;
}
void CreatLinkL(LinkList *head,int n)
{
LinkList* s;
LinkList* last;
last = head;
int i = 0;
for (i = 0; i < n; i++)
{
s = (LinkList*)malloc(sizeof(LinkList));
scanf("%d", &s->data);
s->next = NULL;
last->next = s;
last = s;
}
}
void get_sum(LinkList* head)
{
LinkList* p;
int sum = 0;
p = head->next;
while (p != NULL)
{
sum += p->data;
p = p->next;
}
printf("%d", sum);
}
int main()
{
LinkList* s;
s = InitList();
int n = 0;
scanf("%d", &n);
CreatLinkL(s, n);
get_sum(s);
return 0;
}这一题对于单链表的创建就没有要求了,用头插法和尾插法都可以。然后遍历单链表进行求和就可以了,很简单的两道题。
到此这篇关于C语言单链表遍历与求和示例解读的文章就介绍到这了,更多相关C语言单链表遍历内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:C语言单链表遍历与求和示例解读
基础教程推荐
- C++实现ETW进行进程变动监控详解 2023-05-15
- [C语言]二叉搜索树 2023-09-07
- 全面了解C语言 static 关键字 2023-03-26
- [c语言-函数]不定量参数 2023-09-08
- C语言 详解字符串基础 2023-03-27
- C语言编程C++旋转字符操作串示例详解 2022-11-20
- C++实战之二进制数据处理与封装 2023-05-29
- 带你深度走入C语言取整以及4种函数 2022-09-17
- C语言实现宾馆管理系统课程设计 2023-03-13
- centos 7 vscode cmake 编译c++工程 2023-09-17
