动态链表实现(待完善)
来源:互联网 发布:mac和vb虚拟机如何共享 编辑:程序博客网 时间:2024/06/05 13:07
#include<iostream>
using namespace std;
struct node///定义节点结构
{
int data;
struct node *next;
}node;
typedef struct node *linklist;
void init_list(linklist L)///初始化链表
{
L.next->next=NULL;
}
int Size(linklist L)///返回链表的长度
{
linklist q;
q=L.next;
int i=0;
while(q->next!=NULL)
{
i++;
q=q->next;
}
return (i);
}
int Back(linklist L)///返回链表最后一个元素值
{
linklist q;
q->L.next;
if(q->next==NULL)
return (0);
while(q->next!=NULL)
q=q->next;
return q->data;
}
(仔细看)
int Clear(listlist L)///清空链表
{
linklist q=L->next;
if(q->next==NULL)
return (0);
while(q->next!=NULL)
{
q=q->next;
delete q;
}
L->next->next=NULL;
}
bool Empty(linklist L)///判断链表是否为空
{
if(L->next!=NULL)
return (1);
else
return (0);
}
int Erase(listlist L,int n)///删除链表中的第n个元素
{
if(n>Size(L))
return (0);
linklist q,k;
q=L->next;
for(int i=1; i<n; i++)
{
k=q;
q=q->next;
}
q=q->next;
delete q;
k=q;
}
int Front(listlist L)///返回链表的第一个元素值
{
if(Empty(L))
return (-1);
else
return L->next->next->data;
}
int Insert(linklist L,int n,int e)///在链表的第n个元素后插入元素e
{
if(n>Size(L))
return (0);
linklist q;
for(int i=1; i<n; i++)
q=q->next;
linklist k;
k=new node;
k->data=e;
k->next=q->next;
q->next=k;
}
int main()
{
return (0);
}
using namespace std;
struct node///定义节点结构
{
int data;
struct node *next;
}node;
typedef struct node *linklist;
void init_list(linklist L)///初始化链表
{
L.next->next=NULL;
}
int Size(linklist L)///返回链表的长度
{
linklist q;
q=L.next;
int i=0;
while(q->next!=NULL)
{
i++;
q=q->next;
}
return (i);
}
int Back(linklist L)///返回链表最后一个元素值
{
linklist q;
q->L.next;
if(q->next==NULL)
return (0);
while(q->next!=NULL)
q=q->next;
return q->data;
}
(仔细看)
int Clear(listlist L)///清空链表
{
linklist q=L->next;
if(q->next==NULL)
return (0);
while(q->next!=NULL)
{
q=q->next;
delete q;
}
L->next->next=NULL;
}
bool Empty(linklist L)///判断链表是否为空
{
if(L->next!=NULL)
return (1);
else
return (0);
}
int Erase(listlist L,int n)///删除链表中的第n个元素
{
if(n>Size(L))
return (0);
linklist q,k;
q=L->next;
for(int i=1; i<n; i++)
{
k=q;
q=q->next;
}
q=q->next;
delete q;
k=q;
}
int Front(listlist L)///返回链表的第一个元素值
{
if(Empty(L))
return (-1);
else
return L->next->next->data;
}
int Insert(linklist L,int n,int e)///在链表的第n个元素后插入元素e
{
if(n>Size(L))
return (0);
linklist q;
for(int i=1; i<n; i++)
q=q->next;
linklist k;
k=new node;
k->data=e;
k->next=q->next;
q->next=k;
}
int main()
{
return (0);
}
0 0
- 动态链表实现(待完善)
- TDD表达式再次实现(待完善)
- 闲杂(待完善)
- EditText(待完善)
- TextView(待完善)
- Button(待完善)
- 布局(待完善)
- 各种经典排序算法的实现(待完善)
- OpenCV实现漫水填充(待完善)
- latex实现伪代码算法(待完善)
- 数据结构基础(待完善)
- 进程相关(待完善)
- linux常用命令(待完善)
- Java多线程(待完善)
- 关于Snaphu(待完善)
- okHttp学习(待完善)
- this指针(待完善)
- Android 小结(待完善)
- 《Java编程思想》学习记录仪一 -- java中参数传递方式(第二章一切都是对象)
- mamp 下 的mysql 安装 python 的 mysql 接口 MySQLdb
- PorterDuff.Mode
- 模板函数 c++
- Fragment 深究
- 动态链表实现(待完善)
- su和sudo
- 常用结构体之NSRange用法
- 机房收费系统详细设计说明书
- 判定一棵二叉树是否是二叉搜索树
- IOS - NSURLConnection断点下载
- Linux(putty)的基本的操作
- Movies which Impressed Me
- [BZOJ1202] [HNOI2005]狡猾的商人