2021-11-07 单链表中偶数位序的元素

【问题描述】 统计单链表中偶数位序的元素和并输出元素值。

【输入形式】
【输出形式】
【样例输入】5

                    15 16 17 18 19
【样例输出】 16  18

                       34
【样例说明】链表长度为5,偶数位序元素为 16 18,第二行输出元素和。

【运行结果如下】

 【代码如下】

#include<stdio.h>
#include<stdlib.h>
typedef int Status;
typedef int ElemType;

/*线性表的单链表存储结构 */ 
typedef struct LNode{
	ElemType       data;	
	struct LNode  *next;
}LNode,*LinkList;

/*初始化链表*/
void InitList_L(LinkList &L)
{
	LinkList p;
	LinkList pre;
	int i;
	int n;
	scanf ("%d",&n);
	L = (LinkList)malloc(sizeof(LNode));
	L->next = NULL; 
	pre = L;		//当前指针
	for (i=1; i<=n; i++){
		p = (LinkList)malloc(sizeof(LNode));
		scanf("%d",&p->data);	
		pre->next = p; 
		p->next = NULL;
		pre = pre->next;  //当前指针后移	
	}
}

/*输出链表数据*/
void OutputList_L(LinkList &L){
	LinkList pre;
	pre = L;		//当前指针 
	int sum = 0;
	while (pre->next != NULL)
	{
		pre = pre->next;	//指向奇数位序元素 
		if (pre->next == NULL)	break;
		else{
			pre = pre->next;
			sum = sum + pre->data;
			printf("%d ",pre->data);
		}				
	}
	printf("\n"); 
	printf("%d",sum);	
}

int main()
{
	LinkList L;	
	InitList_L(L);
	if (L->next)
		OutputList_L(L);
	return 0;
}

本文章仅供学习和参考!

欢迎交流~

猜你喜欢

转载自blog.csdn.net/m0_58489132/article/details/121190737