文章
9
粉丝
289
获赞
4
访问
81.8k
#include <stdio.h>
#include <stdlib.h>
//定义结点
typedef struct node
{
int data;
struct node *next;
}node;
//创建链表
node* createList(int num[], int length)
{
node *p, *head, *r;
//初始化头结点
head = (node *)malloc(sizeof(node));
head->next = NULL;
//r定义为尾指针
r = head;
//尾插法
for(int i=0; i<length; i++)
{
p = (node *)malloc(sizeof(node));
p->data = num[i];
p->next = NULL;//确保最后一个结点指向null
r->next = p;
r = p;
}
return head;
}
//输出链表
void printList(node* L)
{
node *p;
p = L->next;
while(p!= NULL)
{
printf("%d ", p->data);
p = p->next;
}
}
//交换奇数位和偶数位上的结点
void change(node *L)
{
node *h = L, *p, *q;
while(h->next!=NULL)
{
p = h->next;
if(p->next==NULL)//当只剩一个数时,跳出
break;
q = p->next;
//交换位置
p->next = ...
登录后发布评论
暂无评论,来抢沙发