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

来源:互联网 发布:中国教育网络干部学院 编辑:程序博客网 时间:2024/05/21 22:38

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域,(指针域)赋值,让新结点指向老结点,最后将新结点变成头结点。
如果仔细观察,可以发现这个实际上是倒序增加结点的。
问题来了,如何翻转数组以及链表中的元素呢?

0 0
原创粉丝点击