关于数据结构中单链表一些操作
来源:互联网 发布:java向多人发邮件 编辑:程序博客网 时间:2024/06/05 20:49
#include <iostream>
#include<stdlib.h>
using namespace std;
typedef struct node
{
int data ;
struct node *next ;
}Node,*PNode;
void creat_linklist(PNode linklist, int n)
{
for (int i = 0; i < n; ++i)
{
PNode p;
p = (PNode)malloc(sizeof(Node));
p->data = i;
p->next = linklist->next;
linklist->next = p;
}
}
int get_length(PNode linklist)
{
PNode p;
p = linklist;
int i = 0;
while (p->next != NULL)
{
p = p->next;
i++;
}
return i;
}
void insert_node(PNode linklist,int i,int e)
{
if (i < 1)
cout << "error" << endl;
PNode p;
p = linklist;
int j = 0;
while (j < i - 1)
{
p = p->next;
j++;
}
PNode p_insert;
p_insert = (PNode)malloc(sizeof(PNode));
p_insert->data = e;
p_insert->next = p->next;
p->next = p_insert;
}
void delete_node(PNode linklist, int i, int &e)
{
PNode p = linklist;
int j = 0;
while (j < i -1)
{
p = p->next;
j++;
}
e = p->next->data;
p->next = p->next->next;
}
void get_ele(PNode linklist, int i,int &e)
{
if (i < 1)
cout << "error" << endl;
PNode p;
p = linklist;
int j = 0;
while (j < i)
{
p = p->next;
j++;
}
e = p->data;
}
void delete_link(PNode linklist)
{
PNode p,q;
p = linklist;
while (p != NULL)
{
q = p->next;
free(p);
p = q;
}
linklist->next = NULL;
}
void main()
{
Node *linklist;
linklist = (PNode)malloc(sizeof(Node));
int n = 100;
linklist->next = NULL;
linklist->data = n;
creat_linklist(linklist,n);
int i = get_length(linklist);
int e;
i = 1;
get_ele(linklist,i,e);
//insert_node(linklist,i,0);
delete_node(linklist, 3, e);
i = get_length(linklist);
delete_link(linklist);
getchar();
}
#include<stdlib.h>
using namespace std;
typedef struct node
{
int data ;
struct node *next ;
}Node,*PNode;
void creat_linklist(PNode linklist, int n)
{
for (int i = 0; i < n; ++i)
{
PNode p;
p = (PNode)malloc(sizeof(Node));
p->data = i;
p->next = linklist->next;
linklist->next = p;
}
}
int get_length(PNode linklist)
{
PNode p;
p = linklist;
int i = 0;
while (p->next != NULL)
{
p = p->next;
i++;
}
return i;
}
void insert_node(PNode linklist,int i,int e)
{
if (i < 1)
cout << "error" << endl;
PNode p;
p = linklist;
int j = 0;
while (j < i - 1)
{
p = p->next;
j++;
}
PNode p_insert;
p_insert = (PNode)malloc(sizeof(PNode));
p_insert->data = e;
p_insert->next = p->next;
p->next = p_insert;
}
void delete_node(PNode linklist, int i, int &e)
{
PNode p = linklist;
int j = 0;
while (j < i -1)
{
p = p->next;
j++;
}
e = p->next->data;
p->next = p->next->next;
}
void get_ele(PNode linklist, int i,int &e)
{
if (i < 1)
cout << "error" << endl;
PNode p;
p = linklist;
int j = 0;
while (j < i)
{
p = p->next;
j++;
}
e = p->data;
}
void delete_link(PNode linklist)
{
PNode p,q;
p = linklist;
while (p != NULL)
{
q = p->next;
free(p);
p = q;
}
linklist->next = NULL;
}
void main()
{
Node *linklist;
linklist = (PNode)malloc(sizeof(Node));
int n = 100;
linklist->next = NULL;
linklist->data = n;
creat_linklist(linklist,n);
int i = get_length(linklist);
int e;
i = 1;
get_ele(linklist,i,e);
//insert_node(linklist,i,0);
delete_node(linklist, 3, e);
i = get_length(linklist);
delete_link(linklist);
getchar();
}
0 0
- 关于数据结构中单链表一些操作
- 关于数据结构->链表的一些基本操作
- 关于JTable一些操作
- 数据结构关于文本能操作
- Linux内核中的一些基本数据结构操作
- 数据结构链表的一些操作!
- 【数据结构】 链式队列的一些操作
- 数据结构之树的一些基本操作
- 一些关于字符串的操作
- 一些关于字符串的操作
- 关于iis一些基本操作
- 一些关于日期的操作
- 关于联网操作一些理解
- 关于SQL 的一些操作
- 关于datagridview的一些操作
- 关于EXCEL操作一些方法!
- 一些关于位操作代码
- 关于数据库的一些操作
- 基于C++11 thread 实现线程池
- 同行评审
- ModelMap和ModelAndView的作用
- 开源库及完整App备忘录
- MongoDB学习1_千万别用MongoDB?真的吗?
- 关于数据结构中单链表一些操作
- java基本I/O系列--ObjectInputStream 和 ObjectOutputStream 介绍
- RecyclerView
- C++容器
- 获取android设备的MAC地址
- 数字转RMB大写
- 如何搭建jquery的开发环境
- HDU 2767 Proving Equivalences(强连通分量)
- android 学习笔记 SAX 解析XML数据