数据结构
文章平均质量分 82
slforeverlove
一只向上的小蜗牛
展开
-
单链表和循环链表
使用链表进行存储元素的时候具有插入和删除节点效率高的优点,这里主要介绍插入和删除元素时的步骤: 一 单链表的插入和删除 在节点p之后插入一个新的节点s,如下图所示: 步骤如下:先连右手,后连左手。 s->next=p->next; p->next=s; 在p节点之后删除s节点: 步骤如下: p->next=s->next; 二 循环链表的插入和删除 循环原创 2015-07-30 14:50:34 · 390 阅读 · 0 评论 -
各种排序算法总结
各种排序算法总结 一、 算法基本思想 1冒泡排序 冒泡排序的基本思想是:两两比较相邻的元素,若前者比后者大,则交换位置,直到没有元素可以交换为止。通过不断的交换完成最终的排序。 核心代码: for(int i=0;i for(int j=0;j { if(a[j]>a[j+1]) swap(a[j],a[j+1]); } 2直接选择排序 直接选择排序是每原创 2015-07-27 19:46:57 · 627 阅读 · 0 评论 -
面试中常问的关于链表的题目
面试中常问的关于链表的题目 注:本文转载自 计算机艺术 的博客,感谢作者整理! http://blog.csdn.net/walkinginthewind/article/details/7393134 链表是最基本的数据结构,面试官也常常用链表来考察面试者的基本能力,而且链表相关的操作相对而言比较简单,也适合考察写代码的能力。链表的操作也离不开指针,指针又很容易导致出转载 2015-08-20 10:32:35 · 468 阅读 · 0 评论 -
快速排序详解
快速排序也是基于交换的原理进行的,是对冒泡排序的一种改进。即它是通过不断比较和移动交换来实现排序的,只不过它的实现,增大了记录的比较和移动的距离,将关键字比较大的记录从前面直接移动到后面,关键字较小的记录从后面直接移动到前面,从而减小了总的比较次数和移动次数。 快速排序采用的思想是分治思想。 快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),原创 2015-09-06 11:37:44 · 550 阅读 · 0 评论