7种常见排序算法 | 分类于 C数据结构 前言排序在我们的编程之路上一直伴随着我们,从最初接触到的冒泡排序,再到选择排序,再到如今的归并排序,快速排序…排序在生活中也一直扮演着重要的角色,淘宝中的按价格,按人气升降序,其实都离不开基本的排序算法.本文便在这里着重讲解一下排序中的四大类((插入排序/选择排序/交换排序/归并排序))中的7种排序(直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序)~ 阅读全文 »
二叉树 | 分类于 C数据结构 前言在我们日常生活中经常能见到各种类似树形的结构,我们的家谱,公司员工的等级分化,以至于我们操作系统中的磁盘文件结构都像一颗树,由一个总的根部向下蔓延拓展。在数据结构中也一样存在这样的存储结构,我们将他称为树,树是一种十分重要的存储类型,他可以实现一些特定的算法,从而完成某些特定的需求。二叉树便是树形结构中的一种,也是我们经常用到的树形结构。今天我在这里对二叉树的实现及对一颗二叉树的操作进行了总结 ~ 阅读全文 »
Linux基本操作合集 | 分类于 Linux 前言Linux是一款类Unix系统,它诞生于1991年,由林纳斯.托瓦斯发明,不同于windows的图形界面,linux更多的使用的是命令行,所以与windows相比Linux操作系统会更加高效,安全.本文为Linux的初始阶段,文章内容包括Linux操作系统中的一些概念;针对目录,针对文件,针对时间以及权限等等的一些命令操作;以及Linux中的一些常用工具(vim,gcc,gdb,Makefile)的介绍 阅读全文 »
栈及栈的应用 | 分类于 C数据结构 前言前面提到过函数栈帧,是编译器用来实现函数调用的一种数据结构。这种数据结构有其独特的特性,在解决某些问题时使用栈的方式会轻巧很多.在这里我们自己实现一个栈并用此栈来实现一个简单迷宫,解决括号匹配问题 阅读全文 »
带头节点双向循环链表 | 分类于 C数据结构 前言此处介绍一种以头节点为维护方式的双向循环链表,这也是在日常生活工作中使用比较频繁的一种链表结构。因为此种链表是双向的且循环,首尾相连,所以在对链表进行一些操作的时候和单向链表相比较就会方便很多。 阅读全文 »
单向无头节点链表 | 分类于 C数据结构 前言链表的维护方式有两种,一种是以定义一个头节点的方式来维护链表,此头节点也分为指针域和数据域,作为维护链表的头节点使用时我们不使用它的数据域,只使用指针域;还有一种维护方式是直接定义一个头指针,这个指针指向链表的第一个节点。此处文采用第二种维护方式来实现一条单向链表,即所有的操作都是单向的,只能从前往后的进行操作 阅读全文 »
字符串旋转问题 | 分类于 C语言 前言字符串旋转问题:假如给定一个字符串ABCDEF,将他进行左旋操作,例如左旋两个字符便得到EFABCD。右旋两个字符得到CDEFAB。由于字符串左旋和右旋相似,这里便对左旋问题进行叙述,右旋问题给出解决方法 阅读全文 »