单链表(线性链表)操作
来源:互联网 发布:class c语言 编辑:程序博客网 时间:2024/06/17 03:57
建立List结构
#include <cstdio>#include <iostream>#include <malloc.h>using namespace std;typedef struct Node{ int data; struct Node *next; //next指针 int size; //单链表大小}*List;
尾插入法建立单链表
void Creat(List &L,int n){ L = (List)malloc(sizeof(List)); L->size = 0; Node *p = L,*q; for(int i=0;i<n;i++){ q = (List)malloc(sizeof(List)); cin>>q->data; p->next = q; //将p的next指向q n=0时即L->next = q p = q; //将p向后移动至q n=0时即p = L->next L->size++; } p->next = NULL; //p->next总为空}
删除指定位置的元素
void Delete(List &L,int num){ List p = L; for(int i=0;i<num-1;i++){ //找到要删除的前一个位置 p = p->next; } List q = p->next; //声明要删除的元素q p->next = q->next; //q的后继成为p的后继 即删除q free(q); L->size--;}
在num位置插入值为val的元素
void Insert(List &L,int val,int num){ List p = L; for(int i=0;i<num-1;i++){ //找到要插入的前一个位置 p = p->next; } List q = (List)malloc(sizeof(List)); q->data = val; q->next = p->next; //使插入位置前一个元素p的后继成为插入元素q的后继 p->next = q; //插入元素q L->size++;}
取得num位置的元素的值
int GetElem(List &L,int num){ List p = L; for(int i=0;i<num;i++){ //找到要取得的位置 p = p->next; } return p->data;}
输出单链表
void Show(List &L){ List p = L->next; for(int i=0;i<L->size;i++){ cout<<p->data<<" "; p = p->next; } cout<<endl;}
0 0
- 单链表(线性链表)操作
- 线性表的基本操作(单链表)
- 线性链表的操作
- 线性链表的操作
- [SDUT](1138)数据结构上机测试2-1:单链表操作A ---链表操作(线性表)
- 线性表的链式存储(单链表)的基本操作
- 线性链表基本操作实现(C/C++)
- 对线性链表的完整操作(1)
- 数据结构---链表操作(线性结构)
- 单链表(线性链表)
- 线性链表(单链表)
- 线性表-链表的简单操作
- 关于线性链表的一些操作
- 线性链表 各种操作整理 数据结构
- 关于线性链表的操作
- list 线性链表的相关操作。
- 线性链表的基本操作
- 线性链表的逆序操作
- linux开机到登陆的启动过程描述 【转】
- Im++ 移动社交通讯云服务产品白皮书——箭扣科技Arrownock
- 通俗理解爬山算法
- \backend\models\core\Country
- 使用HttpClient向服务器端提交数据
- 单链表(线性链表)操作
- java servlet proxy
- debian8+gnome+ssh+配置解析
- 提示fxp不是一个目标文件
- android-Storage Access Framework
- iOS开发常用工具和第三方库
- FastReport经验
- 权限之路径拦截
- linux下VI模式中上下左右键和回退键出现字母