泉州网站建设 推广,西宁哪里做网站,wordpress code 标签,百货商城自助下单网站[日常练习]练习17#xff1a;链表头插法、尾插法练习练习17描述输入输出输入示例1输出示例1输入示例2输出示例2代码演示#xff1a;总结练习17
【日常练习】 链表头插法、尾插法练习 描述
输入3 4 5 6 7 9999一串整数#xff0c;9999代表结束#xff0c;通过头插法新建链…
[日常练习]练习17链表头插法、尾插法练习练习17描述输入输出输入示例1输出示例1输入示例2输出示例2代码演示总结练习17
【日常练习】 链表头插法、尾插法练习 描述
输入3 4 5 6 7 9999一串整数9999代表结束通过头插法新建链表并输出通过尾插法新建链表并输出。
注意输出要采用如下代码因为OJ判题对空格敏感因此需要用下面的打印代码来做
//打印链表中每个结点的值
void PrintList(LinkList L){L L-next;//头结点无数据去第一个结点while (L ! NULL){printf(%d, L-data);//打印当前结点数据L L-next;//指向下一个结点if (L ! NULL){printf( );//输出案例中每两个数之间有空格但是第一个数之前没有空格}}printf(\n);
}输入
3 4 5 6 7 9999第二行也是3 4 5 6 7 9999数据需要输入两次
输出
如果输入是3 4 5 6 7 9999那么输出是7 6 5 4 3数之间空格隔开尾插法的输出是3 4 5 6 7 输入示例1
3 4 5 6 7 9999 3 4 5 6 7 9999
输出示例1
7 6 5 4 3 3 4 5 6 7
输入示例2
1 3 5 7 9 9999 1 3 5 7 9 9999
输出示例2
9 7 5 3 1 1 3 5 7 9 代码演示
#include stdio.h
#include stdlib.h#define MaxSize 50
typedef int ElemType;//数据类型typedef struct LNode//定义单链表结点类型
{ElemType data;//数据域 - 存放数据元素struct LNode* next;//指针域 - 指向下一个结点
}LNode,*LinkList;void ListHeadInsert(LinkList L)//C中的引用
{//malloc返回void*类型的强转成LinkList类型的指针L (LinkList)malloc(sizeof(LNode)); //分配一个头结点 - 给头结点申请空间 - 一个结构体大小的空间L-next NULL;//空ElemType x;LinkList s;scanf(%d, x);while (x ! 9999){s (LinkList)malloc(sizeof(LNode));//给新结点申请空间s-data x;//把读取到的数据放入新结点的数据域s-next L-next;//新结点指向原有列表的第一个结点L-next s;//新结点成为第一个结点scanf(%d, x);//读取下一个值}
}//OJ判题对空格敏感
//打印链表中每个结点的值
void PrintList(LinkList L){L L-next;//头结点无数据去第一个结点while (L ! NULL){printf(%d, L-data);//打印当前结点数据L L-next;//指向下一个结点if (L ! NULL){printf( );//输出案例中每两个数之间有空格但是第一个数之前没有空格}}printf(\n);
}void ListTailInsert(LinkList L)
{L (LinkList)malloc(sizeof(LNode));L-next NULL;ElemType x;LinkList s, r L;//有一个结点指向尾部scanf(%d, x);while (x ! 9999){s (LinkList)malloc(sizeof(LNode));//给新结点申请空间s-data x;//读取的数据放入新结点的数据域r-next s;//原有链表的尾结点的next指向新结点r s;//尾指针指向新的尾结点scanf(%d, x);}r-next NULL;//尾结点的next要为NULL
}int main()
{LinkList L; //声明一个指向单链表第一个结点的指针 - 强调这是一个单链表ListHeadInsert(L);//头插法PrintList(L);//头插法后直接使用尾插法L指向了另外一个地方没有free原有链表属于内存泄漏做题中没关系。//删除结点一定要freeListTailInsert(L);//尾插法PrintList(L);return 0;
}总结 本题考查链表的头插法、尾插法注意打印输出的格式要求空格的位置。