链表插入删除
来源:互联网 发布:sql语句count用法 编辑:程序博客网 时间:2024/05/11 16:23
#include <iostream>
struct NODE
{int val;
NODE* next;
};
struct LinkList
{
NODE* head;
};
void CreateLinkList(LinkList &L)
{
NODE *p = new NODE;
L.head = p;
p->val = 2;
p->next = new NODE;
p = p->next;
p->val = 3;
p->next = new NODE;
p = p->next;
p->val = 5;
p->next = NULL;
}
void InsertNode(LinkList &L, int key)
{
NODE *p = L.head;
NODE *q = p;
while(p && p->val < key)
{
q = p;
p = p->next;
}
NODE *s = new NODE;
s->val = key;
s->next = NULL;
if(p == L.head)
{
s->next = p;
L.head = s;
}
else
{
s->next = p;
q->next = s;
}
}
void DeleteNODE(LinkList &L, int key)
{
NODE *p = L.head;
NODE *q = L.head;
while(p && p->val != key)
{
q = p;
p = p->next;
}
if(p == NULL)
{
return;
}
else if(p == L.head)
{
L.head = p->next;
delete p;
p = NULL;
q = NULL;
}
else
{
q->next = p->next;
delete p;
p = NULL;
}
}
int main()
{
LinkList L;
CreateLinkList(L);
InsertNode(L, 1);
InsertNode(L, 6);
InsertNode(L, 5);
DeleteNODE(L, 1);
DeleteNODE(L, 4);
DeleteNODE(L, 6);
DeleteNODE(L, 5);
system("pause");
return 0;
- 链表插入删除
- 链表插入删除
- 链表插入删除
- 链表的插入、删除
- 双向链表插入删除
- 链表插入删除操作
- 链表插入、删除算法
- 链表的插入、删除
- 链表的建立、插入和删除
- 链表自实现:插入,删除
- 链表的建立插入与删除
- 链表的建立、插入和删除
- 链表插入、删除学习笔记
- 双向链表实现 插入删除
- 链表的创建,插入,删除
- 链表的创建,插入,删除,逆序
- 链表的创建、插入、删除操作
- 链表的插入 删除 排序 倒叙
- 浅谈C语言中的联合体
- Linux入门基础 #2:Linux文件系统基本结构
- Android 系统搜索框(有浏览记录)
- UVA 10115 Automatic Editing
- Android Studio安装和使用
- 链表插入删除
- 一些基础的Java编程(可能会笔试)
- UVA 1427 Parade
- 推荐国内第一个支持多种语言的在线编译器
- 多校回顾hdu4611Balls Rearrangement模拟+暴搞
- poj 2229 Sumsets (DP)
- Android游戏开发中通过音量键调节游戏声音
- Android常用动画Animation的使用
- 按 Eclipse 开发喜好重新布置 cocos2dx 目录层次