给定带有表头结点的单向链表,编写一个函数,将链表中偶数序号的数据节点移到链尾。
链表节点的结构定义:
typedef struct numLink
{
int no;
struct numLink *next;
}NODE;
所编写函数的原型:void movenode( NODE *head)
其中:参数head 是单向链表的头指针。
输入:节点数目
输出:处理后的结果
说明:仅提交函数 void movenode( NODE *head) 即可。
预设代码
前置代码
- /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */
- #include <stdio.h>
- #include <stdlib.h>
- typedef struct numLink
- {
- int no;
- struct numLink *next;
- }NODE;
- void movenode( NODE *head);
- void SetLink( NODE *h, int n )
- {
- NODE *p=NULL, *q=NULL;
- int i;
- for( i=0; i<n; i++)
- {
- p = (NODE *)malloc(sizeof(NODE));
- p->no = i+1;
- p->next = NULL;
- if( h->next == NULL )
- {