- 博客(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关注的人