第一种:顺序表#include
#include
#define MAXSIZE 20typedef struct{
int data[MAXSIZE];
int len;
}SqList;SqList * initSqList(){
SqList * L;
L = (SqList *)malloc(sizeof(SqList...
分类:
其他好文 时间:
2016-05-12 21:35:29
阅读次数:
175
在直接插入排序中,在严蔚敏的书中说是需要设置哨兵,哨兵的作用是避免数组出界,所以在第一个位置设置哨兵,在经过思考这算法对我来说最值得学习的地方就是在比较的同时移动位置,这样会减少时间复杂度
void SIS(sqList &L,int len)
{
//这里有非常值得学习的地方,那就是在比较的同时直接进行移动
//这个是有哨兵的
if(len<=1) return;...
分类:
编程语言 时间:
2016-05-12 19:03:35
阅读次数:
200
最近看数据结构,把常用的排序算法用C语言写了一下。
没有按数据结构上的定义SqList结构体,只是用数组的形式实现。
有的算法并没有完全按书上给出的算法,但思路一致。
#include
void InsertSort(int[], int); //直接插入排序 无哨兵
void BInsertSort(int[], int); //折半插入排序
void BubbleSort(int[], ...
分类:
编程语言 时间:
2016-05-12 16:17:59
阅读次数:
269
对于大量的数据,直接插入排序的比较与移动的次数会比较多,在直接插入排序的基础上,为了减少比较的次数,实现了折半插入排序。
折半插入排序主要分为两个部分,第一部分就是找到待排数字应该插入的位置,第二部分就是移动数据,将待排数据插入有序数列中。
数据结构和直接插入排序的数据结构相同,在折半插入排序的代码如下void BInsertSort(sqList L,int len)
{
//这个是利...
分类:
编程语言 时间:
2016-05-12 15:09:56
阅读次数:
189
#include<stdio.h>#include<stdlib.h>#define LIST_MAX 10#define LIST_ADD 2typedef struct { int *elem; int length; int listsize;}SqList;int InitList(SqLi ...
分类:
其他好文 时间:
2016-05-09 20:35:41
阅读次数:
185
#include<stdio.h>#include<stdlib.h>typedef struct { int *elem; int length; int listsize;}SqList;#define LIST_MAX 10#define LIST_ADD 2int InitList(SqLi ...
分类:
其他好文 时间:
2016-05-08 19:53:50
阅读次数:
213
《数据结构》严蔚敏 头文件SQlist.h 函数实现 ...
分类:
其他好文 时间:
2016-04-27 22:04:18
阅读次数:
117
(1)顺序表: 题目1: 已知长度为n的顺序表, 写一时间复杂度为O(n), 空间复杂度为O(1)的算法,实现删除顺序表中所有值为item的数据元素的操作 类和类函数的声明文件(SqList.h): 类函数的实现文件(SqList.cpp): ...
分类:
编程语言 时间:
2016-04-04 11:33:52
阅读次数:
139
1.SQL语句数据定义语言(DDL: Data Definition Language) 包括动词 CREATE (创建表) DROP(删除表) //不区分大小写,但是不能大小写混用数据操作语言 (DML: Data Manipulation Language) 包括 INSERT(插入行) ...
分类:
数据库 时间:
2016-01-18 20:37:53
阅读次数:
739
线性表的基本操作共有十二个。我们通过对线性表基本操作的有机组合,可以处理较为复杂的线性表。一、初始化顺序线性表——构造一个空的顺序线性表 1 void InitList(SqList &L) 2 { 3 L.elem = (ElemType*)malloc(LIST_INIT_SIZE...
分类:
其他好文 时间:
2016-01-14 22:08:26
阅读次数:
369