#include<>
#include<>
/2.2.1顺序表的c语言描述。
#define maxsize 100
typedef struct{
int data[maxsize];
int last;
sequenlist;
/2.3.2单链表的c语言描述(注意循环链表)
typedef int datatype;
typedef struct node{
datatype data;
struct node *next;
linklist;
linklist *head;
/2.3.5双链表的c语言描述
typedef struct dnode{
datatype data;
struct dnode *prior,*next;
dlinklist;
/3.2.1顺序栈的c语言描述。
typedef struct{
datatype data[maxsize];
int top;
seqstack;
/3.3链式栈的c语言描述。
typedef struct snode{
datatype data;
struct snode *next;
linkstack;
/4.2.1顺序队列的c语言描述(注意4.2.3循环队列的定义和基本操作)
typedef struct{
datatype data[maxsize];
int front;
int rear;
seqqueue;
/4.3.1链队列的c语言描述。
typedef struct qnode{
datatype data;
struct qnode *next;
qnode_linklist;
typedef struct {
qnode_linklist *front ,*rear;
linkqueue;
/5.2.1串的顺序存储的c语言定义(注意建立串时候的fflush(stdin);)
char sstr[maxsize];
typedef struct{
datatype data[maxsize];
int len;
sstring;
/5.2.2链串的类型描述。
typedef struct linknode{
char data;
struct linknode *next;
linkstring;
/5.2.3堆串的描述。
typedef struct{
char *ch;
int length;
hstring;
/7.3.2二叉链表结点的c语言描述。
#define max_size 100
typedef struct btnode{
datatype data;
struct btnode *lchild,*rchild;
btnode;
/三叉链表结点的c语言描述。
typedef struct btnode_3{
datatype data;
struct btonde_3 *lchild,*rchild,*parent;
btnode_3;
/线索二叉树的c语言描述。
typedef struct bithrnode{
datatype data;
struct bithrnode *lchild,*rchild;
int ltag,rtag;
bithrnode;
/7.7.1树的存储结构1、双亲表示法(顺序存储结构)
typedef struct tnode{
datatype data;
int parent;
ptnode;
typedef struct{
ptnode node[max_size];
int num;
ptree;
/7.7.1树的存储结构2孩子表示法。
typedef struct listnode{
int childno;
struct listnode *next;
ctnode;
typedef struct{
datatype data;
ctnode *firstchild;
hnode;
typedef struct{
hnode nodes[max_size];
int root;
int num;
clinklist;
/7.7.1树的存储结构3.孩子兄弟表示法(二叉树表示法)
typedef struct csnode{
datatype data;
struct csnode *firstchild,*nextchild;
csnode;
/8.2.1图的邻接矩阵。
typedef char elemtype;
typedef struct{
elemtype vex[maxsize];
int edge[maxsize][maxsize];
int e;
int n;
adjgraph;
/8.2.2图的邻接表节点及其类型定义如下:
typedef struct graph_linknode{
int adjvex;
char info;
struct linknode *firstarc;
graph_linknode;
typedef struct vexnode{
char data;
graph_linknode *firstarc;
vexnode;
typedef struct{
vexnode adjlist[maxsize];
int n,e;
algraph;
/9.1排序的数据结构定义。
#define sort_maxsize 10
typedef int keytype;
typedef struct{
keytype key;
recordtype;
recordtype r[sort_maxsize];
int main(){
return 0;
C数据结构C示例
目录。1.表达式 2 语句 2 圆括号。方括号。花括号。1 计算两点间的距离平方。a点坐标 x1,y1 和b点坐标 x2,y2 x1 x2 x1 x2 y1 y2 y1 y2 注 c 中的乘号是 没有平方符号,因此没有 x1 x2 2,而应该写作 x1 x2 x1 x2 2 数学表达式的正确表达 1...
数据结构中各种排序算法比较
1快速排序 quicksort 快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。1 如果不多于1个数据,直接返回。2 一般选择序列最左边的值作为支点数据。3 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。4 对...
c数据结构课程设计
重庆大学信息科学与工程学院。实验报告。课程名称 数据结构。实验名称 宿舍管理查询软件。专业 计算机科学与技术。班级 姓名 时间 2011年7月1日。1 实验内容。1 任务 为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求 a.采用交互工作方式。b.建立数据文件 数据文件按关键字 姓名 学号 房号...