链表的基本操作
来源:互联网 发布:淘宝卖家如何发动态 编辑:程序博客网 时间:2024/06/05 02:18
C/C++
首先,用结构体创建节点
struct ListNode{int val;ListNode* next;};一、初始化操作
第1种,不返回的情况
void InitList1(ListNode **L){*L =(ListNode*)malloc(sizeof(ListNode));(*L)->next=NULL;}
InitList1(&head);
第2种,不返回的情况
void InitList2(ListNode *&L){L =(ListNode*)malloc(sizeof(ListNode));L->next=NULL;}
InitList2(head);
第3种,返回的情况
ListNode* InitList3(ListNode* head){head =(ListNode*)malloc(sizeof(ListNode));head->next=NULL;return head;}
head=InitList3(head);第二、创建链表
1.尾插法
ListNode* CreateLinkList1(ListNode* head,int size){int i;ListNode* p;ListNode* temp;p=head;for(i=0;i<size;i++){temp=(ListNode *)malloc(sizeof(ListNode));cin>>temp->key;p->next=temp;temp->next=NULL;p=temp;}return head;}
void CreateLinkList2(ListNode* head,int size){int i;ListNode* p;ListNode* temp;p=head;for(i=0;i<size;i++){temp=(ListNode *)malloc(sizeof(ListNode));cin>>temp->key;p->next=temp;temp->next=NULL;p=temp;}}返回和不返回得到的结果一样
2.头插法
ListNode* CreateLinkList3(ListNode* head,int size){int i;ListNode* p;ListNode* temp;p=head;for(i=0;i<size;i++){temp=(ListNode *)malloc(sizeof(ListNode));cin>>temp->key;temp->next=p->next;p->next=temp;};return head;}
void CreateLinkList4(ListNode *head,int size){int i;ListNode* p;ListNode* temp;p=head;for(i=0;i<size;i++){temp=(ListNode *)malloc(sizeof(ListNode));cin>>temp->key;temp->next=p->next;p->next=temp;}}
所以对于创建链表可以不用返回头结点。
0 0
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 链表的基本操作
- 浅谈Oracle12c 数据库、用户、CDB与PDB之间的关系
- Android通用生命周期
- UIProgressView 进度条
- 黑马入门教程笔记04-OC(完结)
- System V 共享内存区
- 链表的基本操作
- poj 1085 Triangle War 1568 Find the Winning Move 极大极小搜索 alpha-beta剪枝
- Java Java!
- Android Emulator 不能运行cocos2dx的解决方案
- Linux下java -version版本不对
- HDU 4893(Wow! Such Sequence!-线段树单点修改+区间求和+改为最近Fib数)
- 【JAVA】--对环境变量的了解
- 字符串之复制函数
- linux下APUE的代码测试文件路径配置