基本数据结构——链表
来源:互联网 发布:海康威视nvr无网络视频 编辑:程序博客网 时间:2024/05/11 00:16
/* 对链表的操作:
【 新建 添加 删除 遍历 】 这里采用的头节点只是单纯的存放着第一个节点的地址,并没有存放实际的元素。当然咯,也可以把头节点当作第一个节点,还节约了一个节点空间。
SQ 2014-04-16
*/
#include<stdio.h>
struct Node{
int data;
struct Node * next;
};
typedef struct Node node;
typedef struct Node * link;
//新建
link creat(){
link head;
head = (link)malloc(sizeof(node));
head->next =NULL;
return head;
}
//添加元素
void add( link head ,int data){
link p ,q ;
p = head;
q = (link)malloc(sizeof(node));
q->data = data;
q->next =NULL;
while(p ->next != NULL)
p=p->next;
p->next=q;
printf("添加的新元素是:%d \n" ,data);
}
//遍历元素
void show(link head){
int i=1;
do{
head = head->next;
printf("第%d个元素的值为: %d \n" , i ,head ->data);
i++;
}while(head->next != NULL);
}
//删除元素
void del(link head ,int data){
link p;
link q=NULL;
p= head;
if (p->next->data == data) { //删除第一个元素
q =p->next;
p->next = q->next;
free(q);
}
else {
while(p->next->data != data)
p=p->next;
q=p->next;
p->next =q->next;
free(q);
}
}
int main(){
link head;
head = creat();
int i;
for(i=0 ;i <10 ;i++)
add(head,i);
show(head);
del(head ,6);
show(head);
return 0;
}
【 新建 添加 删除 遍历 】 这里采用的头节点只是单纯的存放着第一个节点的地址,并没有存放实际的元素。当然咯,也可以把头节点当作第一个节点,还节约了一个节点空间。
SQ 2014-04-16
*/
#include<stdio.h>
struct Node{
int data;
struct Node * next;
};
typedef struct Node node;
typedef struct Node * link;
//新建
link creat(){
link head;
head = (link)malloc(sizeof(node));
head->next =NULL;
return head;
}
//添加元素
void add( link head ,int data){
link p ,q ;
p = head;
q = (link)malloc(sizeof(node));
q->data = data;
q->next =NULL;
while(p ->next != NULL)
p=p->next;
p->next=q;
printf("添加的新元素是:%d \n" ,data);
}
//遍历元素
void show(link head){
int i=1;
do{
head = head->next;
printf("第%d个元素的值为: %d \n" , i ,head ->data);
i++;
}while(head->next != NULL);
}
//删除元素
void del(link head ,int data){
link p;
link q=NULL;
p= head;
if (p->next->data == data) { //删除第一个元素
q =p->next;
p->next = q->next;
free(q);
}
else {
while(p->next->data != data)
p=p->next;
q=p->next;
p->next =q->next;
free(q);
}
}
int main(){
link head;
head = creat();
int i;
for(i=0 ;i <10 ;i++)
add(head,i);
show(head);
del(head ,6);
show(head);
return 0;
}
0 0
- 基本数据结构——链表
- 基本数据结构(2) —— 链表
- 数据结构—链表-单链表基本操作实现
- 数据结构——基本数据结构之栈
- 数据结构——基本数据结构之队列
- 数据结构——基本数据结构之有根树
- 数据结构——基本数据结构之栈
- 数据结构——基本数据结构之队列
- 基本数据结构——队列
- 基本数据结构——栈
- 基本数据结构——单链表
- 基本数据结构——树
- Python——基本数据结构
- 基本数据结构——栈
- 基本数据结构——图
- 基本数据结构——堆
- 【数据结构与算法003】基本数据结构——线性表(链表)
- 数据结构——基本数据结构之链表
- web.xml配置详解系列二
- 《黑马程序员》 TreeSet集合练习之 按照字符串长度排序
- 联想ERP项目实施案例分析(5):系统测试和数据清理
- 【Solr4.7.0学习笔记】系列之一:我的第一个Solr程序
- 黑马程序员-自己总结的java学习笔记(1)java语言基础。
- 基本数据结构——链表
- [译]Kinect for Windows SDK开发入门(四):景深数据处理 上
- qt入门之qt移植arm上参数设置
- PAT 1080. Graduate Admission (平行志愿模拟题)
- java中的Boxing和unboxing
- 面向对象开发方式的开源硬件--.NET Gadgeteer
- AAA
- python - try/except/else/finally
- Windows API 串口编程函数介绍