c语言
weixin-1111111
这个作者很懒,什么都没留下…
展开
-
冒泡排序,下标从零开始
#include<stdio.h>void BubbleSort(int a[],int n){ int i,j; int flag,temp; for(i=0;i<n-1;i++) { flag=0; for(j=0;j<n-i;j++) { if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; flag=1; } } if(flag==原创 2020-07-13 09:44:35 · 86 阅读 · 0 评论 -
分块查找 构建索引表 查找关键字
分块查找介于顺序查找与折半查找之间。算法描述:1.将按块有序的数据元素分成n块,每一块中结点不必有序,但块间必须有序。2.将各块中的最大关键字构成索引表3.查找想要查询元素num在索引表的位置4.在块内顺序查询关键字。#include<stdio.h>typedef struct node{ int start; //定义每个数据块的头,尾及最大 int key; int tail;}Key;BlockSearch(int a原创 2020-07-07 17:21:10 · 1033 阅读 · 1 评论 -
建立一个包含6个结点的有向图的邻接表,实现插入、删除边的功能,并进行深度优先遍历和广度优先遍历。
#include<stdio.h>#include<stdlib.h>#define MAX_VERTEX_NUM 20#define UNVISITED 0#define VISITED 1typedef struct Arcnode{ int adjvex; //adjvex指的是结点的下标 struct Arcnode *nextarc; int weight;}Arcnode;typedef struct Vnode{原创 2020-07-06 11:25:49 · 2000 阅读 · 2 评论 -
建立一个包含6个结点的无向图的邻接矩阵,实现插入、删除边的功能,并进行深度优先遍历和广度优先遍历。
#include<stdio.h>#define MAX_VERTEX_NUM 20#define INFINITY 65535#define UNVISITED 0#define VISITED 1typedef struct{ char vexs[MAX_VERTEX_NUM];//储存顶点 int arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//用于储存权值 int vernum,arcnum;//vernum表示结点个数,arcnum用来表原创 2020-07-06 11:26:54 · 2260 阅读 · 1 评论 -
图,邻接矩阵广度遍历算法
1.图中共有n个顶点,(1)必须有n-1条边,(2)子图必须连通才叫一个连通图的生成树(是一个极小连通子图)。2.有向树:只有一个顶点入度为0,其余顶点入度均为1.3.邻接矩阵:顶点V1入度:正好是V1列的各数之和顶点V1出度:正好是V1行的各数之和...原创 2020-05-07 23:25:21 · 443 阅读 · 0 评论 -
二叉树的创建,排序,求叶子结点个数等
#include<stdio.h>#include<stdlib.h>typedef struct node{char data;struct node *lchild, *rchild;}Bitnode, *Bitree;void Preorder(Bitree BT);int Creat(Bitree &BT);void Countleaves...原创 2020-07-06 11:28:05 · 256 阅读 · 0 评论 -
二叉树算法:查找节点路径
Bitree Find(Bitree BT,char ch)//查找节点{Bitree p;if(BTNULL)return NULL;else if(BT->datach)return BT;else{p=Find(BT->lchild,ch);if(p!=NULL)return p;elsereturn Find(BT->rchild,ch);}...原创 2020-07-06 11:27:35 · 726 阅读 · 0 评论