头插法链表拆分

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 /*
 4 头插法链表拆分:1,建立空链表。2插入节点。3遍历输出插入节点后的链表数据
 5 */
 6 typedef struct node
 7 {
 8     int data;
 9     struct node * next;
10 }NODE;
11 //1.建立空链表
12 NODE * createList()
13 {
14     NODE * head = (NODE *)malloc(sizeof(NODE));
15     head->next = NULL;
16
17     return head;
18 }
19 //2.插入节点
20 void insertNode(NODE *head,int nodeData)
21 {
22     NODE * cur = (NODE *)malloc(sizeof(NODE));
23     cur->data = nodeData;
24
25     cur->next = head->next;//新来的结点指向头结点的下一个结点。
26     head->next = cur;       //将新来的结点连入链表。
27 }
28 //遍历输出插入节点后的链表数据
29 void traverList(NODE *head)
30 {
31     head = head->next;
32     while(head)
33     {
34         printf("%d\n",head->data);
35         head = head->next;
36     }
37 }
38 int main(void)
39 {
40
41     NODE * head = createList();
42     for(int i = 0;i<50;i++)
43     {
44         insertNode(head,i);
45     }
46     traverList(head);
47
48     return 0;
49 }

原文地址:https://www.cnblogs.com/wangchaomahan/p/9693960.html

时间: 2024-10-14 06:22:25

头插法链表拆分的相关文章

尾插法链表拆分

1 #include <stdio.h> 2 #include <stdlib.h> 3 /* 4 尾插法链表拆分:1.建立空链表.2.插入节点.3.遍历并输出插入节点后的链表数据 5 */ 6 typedef struct node 7 { 8 int data; 9 struct node * next; 10 }NODE; 11 //建立空链表 12 NODE * createList() 13 { 14 NODE * head = (NODE *)malloc(sizeof

头插法链表的基本操作:创建空链表,插入结点,遍历链表,求链表长度,查找结点,删除结点

1 #include <stdio.h> 2 #include <stdlib.h> 3 /* 4 头插法链表的基本操作:创建空链表,插入节点,遍历输出节点数据,求链表长度,查找结点,删除结点. 5 */ 6 typedef struct node 7 { 8 int data; 9 struct node * next; 10 }NODE; 11 //创建空链表 12 NODE * createList() 13 { 14 NODE * head = (NODE *)malloc

数据结构—头插法逆转单链表——空间复杂度为O(1)

#if 1 #include<stdio.h> #include<stdlib.h> #include<iostream> using namespace std; struct Node { int data; Node *next; }; //初始化 Node *init() { Node *head=new Node; head->next=NULL; return head; } //头插法创建节点 void insetList(Node *head,in

单链表 初始化 创建 头插法 尾插法 插入 删除 查找 合并 长度

#include <stdio.h> #include <stdlib.h> #define OK 1 #define ERROR -1 #define TRUE 1 #define FALSE -1 #define NULL 0 #define OVERFLOW -2 #define ElemType int #define Status int typedef int ElemType typedef int Status #define LEN sizeof(LNode) #

建立链表—头插法、尾插法—有无头结点

1.建立链表-头插法-头结点 1 //建立链表-头插法-头结点 2 LinkList CreatList_head() 3 { 4 DataType x; //数据 5 LinkList p,head; //结点 6 head = (LinkList)malloc(sizeof(LNode)); 7 head->next = NULL; 8 head->data = 0; 9 10 scanf("%d",&x); 11 while(x != 999) 12 { 13

单链表的练习-头插法

/*单链表的练习-头插法*/ /*单链表由头结点就可以唯一确定*/ #include <malloc.h> #include <stdio.h> #include <stdlib.h> //定义单链表结构 typedef struct Node{ int data;  //数据域 Node * pNext;  //指针域 }NODE,* PNODE; PNODE create_list(void);  //创建链表 void show_list(PNODE pHead)

《线性表的基础操作(实现了可以选择在创建初始链表时,是用头插法,还是用尾插法)》

#include<stdio.h>#include<stdlib.h>#include<conio.h>#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2#define NULL 0typedef int Status;typedef int ElemType; //------线性表的单链表存储结构-------- typede

头插法尾插法按位置插入创建删除链表

/* * 时间:2015年7月28日07:54:10 * 项目:单链表(头插法和尾插法) */ # include <stdio.h> typedef int ElemType; typedef struct Node{ Node *next; ElemType data; }LinkList; /*头插法,拥有头指针*/ void InitLinkListHead(LinkList *headList) { headList->next = NULL; headList->dat

给定数组,创建(带头节点)的单链表(头插法、尾插法)

一般有两种常用的方法来建立单链表:头插法与尾插法. (1)头插法:每次将新申请的节点插在头节点的后面: 简单来说,就是把新加进的元素放在表头后的第一个位置: 首先,让新节点的next指向头节点之后:然后,让表头的next指向新节点. (2)尾插法:每次将新申请的节点插在终端节点的后面. #include <stdio.h> #include <stdlib.h> typedef struct node { int data; struct node *next; } NODE; /