作业:以关键字序列{48,62,35,77,55,14,35,98}为例说明完成直接插入排序的算法思想及排序过程,并说明此算法是一种稳定的算法。编程实现此排序(用email上交)。
/*------使用直接插入排序法实现一组数据的排序------*/#include <stdlib.h>#include <stdio.h>#define MAX 8 /*最大数组容量*/
typedef struct{ int r[MAX+1]; /*r[0]为工作单元*/ int length;}recordlist;
/*输入一组数据*/void input(recordlist *l){ ...
编程完成:使用“监视哨”方法实现顺序查找。下面给出一个程序,试试把它放到你的机上运行一下,然后将你遇到的问题分析分析……(此程序已在Turbo C for Windows运行过)。
#include <stdlib.h>#include <stdio.h>#define MAX 5 /*最大数组容量*/
typedef struct{ int r[MAX+1]; /*r[0]为工作单元*/ int length;}recordlist;
/*输入一组数据*/int input(recordlist l){ int i; l.length=MAX; printf("\nPleas...
/*借助队列实现图的拓扑排序C程序*/#include<stdlib.h>#define maxvertexnum 20/*定义最多的顶点数*/#define null 0#define maxqueue 20#define m 10 /*定义最多入度数*/
/*图的邻接表的边表结点*/typedef struct node{ int adjvex;/*存放邻接点序号*/ /*若要表示边上的权,可添加一个数据域*/ struct node *next; }edgenode;
/*图的邻接表表示的顶点表结点*/typedef struct vnode{ int vertex...
作业:用邻接表实现图的深度与广度优先遍历。(做出来的遍历结果序列有问题)
程序如下:
/*邻接表表示的图的深度优先搜索和广度优先搜索程序*/#include <stdio.h>#define maxvertexnum 100#define queuesize 100#define null 0
typedef struct{ int front,rear,count,data[queuesize];}cirqueue; typedef int vertextype;
/*图的邻接表的边结点定义*/typedef struct node{ int adjvex; stru...
数据结构的一道作业题目:
建立图的邻接矩阵,并判断两点是否相邻。
程序如下:
#include <stdio.h> #include <stdlib.h> #include <alloc.h>#define M 20
/*定义图*/ typedef struct{ int V[M]; int R[M][M]; int vexnum; /*图的顶点数*/ }Graph;
/*创建图*/ void creatgraph(Graph *g,int n) { int i,j,r1,r2; g->vexnum=n; /*顶点用i表示*/ for(...
/*------------------------------------------------- ------二叉树的链表先序建立与中序输出(C程序)------ -------------------------------------------------*/
#include <stdlib.h>#include <malloc.h>#include <stdio.h>
typedef struct Node /*二叉树的链表结构声明*/ { char data; struct Node *LChild; struct Node *RChild;}Bi...
/************************一元多项式的相加(C程序)Firedy2007-1-6(修改)*************************/
#include<stdio.h>#include<malloc.h>#include<stdlib.h>#define LEN sizeof(node)
typedef struct polynode /*用单链表存储多项式的结点结构*/{ int coef; /*多项式的系数*/ int exp; /*指数*/ struct polynode *next; /*next是...