
数据结构
freezyh
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
顺序表的删除1
顺序表的按位置删除是顺序表中删除操作中比较简单的,只要把相对于的位置上的数据删除后,然后把删除位置后面的位置向前逐一移动,然后返回顺序表长度减1后的长度。#include #define N 50 int a[N]={0};void CreateArr(int *a, int len) //创建顺序表{ printf("请输入%d个整型数据:\n",len); for(原创 2013-09-17 23:00:44 · 762 阅读 · 0 评论 -
顺序表的创建
顺序表的存储采用数组的形式进行存储,在不知道顺序表的长度有多长时,通常采用浪费法,先定义足够大的数组,也有可能定义的数组不能满足需求,也许这就是顺序表的缺点吧,顺序表的基本操作有插入、删除、查询等。顺序表的操作都少不了数组的首地址和数组的长度。顺序表的创建:#include #define N 50 int a[N]={0};void CreateArr(int *a, in原创 2013-09-17 21:36:40 · 966 阅读 · 0 评论 -
顺序表的查询
当要实现顺序表的查询的时候,查询的函数就多了一个形参,此形参用来传递查询的数据,如果查询到要查找的数据就返回1,否则返回0来判断。#include #define N 10int FindElement(int *a, int len, int x) //顺序表的查询{ for(int i=0; i<len; i++) { if(a[i]==x) return 1;原创 2013-09-17 21:51:14 · 802 阅读 · 0 评论 -
顺序表的插入
顺序表的数组是足够大,当插入一个数据,我们可以把插入位置的数据和后面的数据都逐一后移,把要想插入的数据插入所想要插入的位置,当插入完数据后,要返回顺序表增加1后的长度。#include #define N 50 int a[N]={0};void CreateArr(int *a, int len) //创建顺序表{ printf("请输入%d个整型数据:\n",len);原创 2013-09-17 22:40:07 · 1036 阅读 · 0 评论 -
冒泡法排序
冒泡法排序在刚学编程语言的时候都经常接触,当刚接触时总是很疑惑,明明感觉自己掌握了,过了一阵子感觉又不会了,其实冒泡的原理很简单,自己动手排序一次,就能体验到冒泡如何的冒泡,但数组的个数不要太多。冒泡法对一个数组进行排序,里面的数据可以有相同也有不相同,同时实现冒泡的时候用到双重循环,第一个for循环是用来控制排序要跑的趟数,比如说你的数组只有一个数据,那还用排序吗??如果N个数据那就要减去那个数原创 2013-10-06 11:39:34 · 1025 阅读 · 0 评论 -
顺序表的合并
顺序表的合并的前提是合并的两个顺序表都要有序,你可以升序也可以降序,合并后的顺序表的是否为升序或降序就看内部代码的判断,当你输入完两个顺序表的时候,也可以调用冒泡法排序的函数,或者你先初始化两个有序的顺序表。本篇就直接输入有序的顺序表,具体的实现过程代码中有解释。/* 顺序表的合并要满足两个顺序表都是有序的!!*/#include #define N 50 int A[N]=原创 2013-10-06 14:52:56 · 4441 阅读 · 3 评论 -
顺序表的删除2
顺序表的删除上篇只是按位置删除,按位置删除只要把删除的位置的后面的数据向前移动,本篇按值删除,对数组中的每个数据顺序比较,查找到了就记录下标,缺点是数组中的每个数据都应该不相同,对后面相同的数据没有做到删除的效果,只是针对不同数据的数组进行删除。#include #define N 50 int a[N]={0};void CreateArr(int *a, int len)原创 2013-10-01 13:16:19 · 631 阅读 · 0 评论 -
顺序表的删除3
前一篇的顺序表的删除只考虑了删除一个值,当顺序表有多个相同的值要删除的时候就得删除多次了删除一个值后得继续判断后面的值是否相同,所以删除一个值得时候要把后面的值向前移动,移动后继续遍历#include #define N 50 int a[N]={0};void CreateArr(int *a, int len) //创建顺序表{ printf("请输入%d个整型数据原创 2013-10-05 22:41:38 · 775 阅读 · 0 评论 -
C语言数据结构单链表的一些基本操作
#include #include typedef struct ListNode { //单链表存储结构 int data; //数据域 struct ListNode * next;//指针域}LNode, * pNode; //LNode等价于struct ListNode原创 2013-10-19 23:54:56 · 1063 阅读 · 0 评论