自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

为幸福写歌的博客

GitHub:https://github.com/zhiyongye

  • 博客(7)
  • 收藏
  • 关注

原创 对队列的操作和算法

一、队列的定义队列(queue)是一种先进先出的线性表。它只允许在表的一端进行插入,而在另一端删除元素。允许插入的一端叫做队尾(rear),允许删除的一端则称为对头(front)。队列一般也分为两种:链式队列:用链表实现;静态队列:用数组实现(静态队列通常都必须是循环队列)。一般用循环队列比较多,这里也只是讲述循环队列。二、循环队列需要弄清楚的几个问题1、静

2016-09-19 10:42:01 602

原创 对栈的操作和算法实现

一、栈的定义从数据结构角度看,栈也是线性表,其特殊性在于栈的基本操作都是线性操作的子集,它是操作受限的线性表。栈(stack)是限定仅在表尾进行插入或删除操作的线性表。栈一般分为两种:静态栈:用数组实现;动态栈:用链表实现。一般用的比较多的都是动态栈。如果学会了链表,其实对栈的操作就比较简单了。二、栈的结构空栈的结构:(其实就是栈顶和栈顶都指向一个不存放有效数据的头

2016-09-18 16:47:26 1092

原创 对链表的操作与算法

一、非循环单链表插入节点伪算法如上图所示,已知有一链表,要想在p所指向的节点的后面插入一个新的节点q,则有两种方法:伪算法一:t = p->pNext;p->pNext = q;q->pNext = t;伪算法二:q->pNext = p->pNext;p->pNext = q;二、非循环单链表删除节点伪算法如上图所示,已知有一链表,要想把p所指向的节点的后面

2016-09-18 10:13:17 645

原创 对动态数组的操作与算法

直接贴程序:/* 2016年9月12日15:00:49 对动态数组的操作与算法*/#include#include //malloc函数在此头文件#include //使用exit函数需要此头文件struct Array{ int len; //数组的长度 int cnt; //数组有效数值的个数 int * pBase; //存储数组第一个元

2016-09-12 20:10:40 416

原创 链表

一、数组与链表的比较数组:优点:存取速度快缺点:需要一个连续的很大的内存            插入和删除元素的效率很低链表:优点:插入删除元素效率高   不需要一个连续的很大的内存缺点:查找某个位置的元素效率低二、链表的结构首节点:存放第一个有效数据的节点尾节点:存放最后一个有效数据的节点头结点:头结点的数据类型和首节点的类型是一样的                头结点并不存放有效数据    ...

2016-09-11 20:10:01 359

原创 冒泡排序

冒泡排序比较简单,直接贴程序:/* 2016年9月6日22:17:07 冒泡排序*/#include void sort(int * pArr, int len){ int i, j, t; for(i = 0; i < len-1; ++i) { for(j = 0; j < len-1-i; ++j) { if(pArr[j] > pArr[j+1])

2016-09-09 16:33:06 267

原创 指针之动态分配内存

一、动态数组/* 2016年9月4日21:08:23 动态数组*/#include#includeint main(void){ int a[5]; //静态数组 int len; int i; printf("请输入动态数组的长度:"); scanf("%d", &len); int * pArr = (int *)malloc(sizeof(int)

2016-09-06 21:08:03 506

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除