![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 1037 阅读 · 1 评论 -
建立一个包含6个结点的有向图的邻接表,实现插入、删除边的功能,并进行深度优先遍历和广度优先遍历。
#include<stdio.h> #include<stdlib.h> #define MAX_VERTEX_NUM 20 #define UNVISITED 0 #define VISITED 1 typedef struct Arcnode { int adjvex; //adjvex指的是结点的下标 struct Arcnode *nextarc; int weight; }Arcnode; typedef struct Vnode {原创 2020-07-06 11:25:49 · 2002 阅读 · 2 评论 -
建立一个包含6个结点的无向图的邻接矩阵,实现插入、删除边的功能,并进行深度优先遍历和广度优先遍历。
#include<stdio.h> #define MAX_VERTEX_NUM 20 #define INFINITY 65535 #define UNVISITED 0 #define VISITED 1 typedef 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 · 2266 阅读 · 1 评论 -
图,邻接矩阵广度遍历算法
1.图中共有n个顶点,(1)必须有n-1条边,(2)子图必须连通才叫一个连通图的生成树(是一个极小连通子图)。 2.有向树:只有一个顶点入度为0,其余顶点入度均为1. 3.邻接矩阵:顶点V1入度:正好是V1列的各数之和 顶点V1出度:正好是V1行的各数之和 ...原创 2020-05-07 23:25:21 · 444 阅读 · 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; else return Find(BT->rchild,ch); } ...原创 2020-07-06 11:27:35 · 729 阅读 · 0 评论