您的位置:首页 > 理论基础 > 数据结构算法

数据结构与算法(1、数组和链表)

2015-06-03 23:08 351 查看
1、数组和链表

对于数组和链表而言,数组的每一个元素都有其对应的下标,例如

int array[]={1,2,3};
//array[1]=2;
/*
数组可以根据角标去查找元素,所以查找效率比较高,但是数组的增删非常不方便,因为需要移动大量的元素去实现增删
*/


链表:链表是弥补了数组的不足同时也有自己的缺点

链表的增删比较容易,但是失去了角标只能通过头结点一个一个去遍历

//链表的创建
//结构体的定义
struct node{
int data;
node* next;
}
//主函数
void main(){
node*head=NULL;
int i=0;
for(i;i<5;i++){
//接下来不停创建结点,然后赋值结点,最后结点连接有的结点
node* new_node=new node;
new_node->data=i;
new_node->next=head;
//继续
head=new_node;
}
}


怎么说呢,单链表的创建就是不停的获取新的结点,然后给结点赋值,同时给结点的link域,(指针域)赋值,让新结点指向老结点,最后将新结点变成头结点。

如果仔细观察,可以发现这个实际上是倒序增加结点的。

问题来了,如何翻转数组以及链表中的元素呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: