数据结构
孟德轩
这个作者很懒,什么都没留下…
展开
-
数据结构——选择排序
#include<stdio.h>#define N 10int a[N];void selectsort(int a[],int m)//简单选择排序 { int i,j; int temp; int min; for(i=0;i<m-1;i++) { min=i; for(j=i+1;j<m;j++) { if(a[j]<a[min]) min=j; } if(min!=i) { temp=a[min]; .原创 2021-08-09 16:54:27 · 86 阅读 · 0 评论 -
数据结构——快速排序
#include<stdio.h>#define N 10int low,high;int a[N]; int partition(int a[],int low,int high) { int pivot; pivot=a[low];//取数组的第一个元素为枢轴元素 while(low<high) { while(a[high]>=pivot&&low<high) high--; a[low]=a[high]; .原创 2021-08-09 16:53:06 · 83 阅读 · 0 评论 -
数据结构——折半插入排序
#include<stdio.h>#define N 10 int a[N];void Insertsort(int a[],int n)//折半插入排序 { int low,high,mid; int i,j; for(i=2;i<=n;i++)//首先使用折半查找找到第i个数字的插入位置,最终low和high就是相等,即要插入元素的位置是high+1 { low=1; high=i-1; a[0]=a[i]; while(low<=high).原创 2021-08-09 16:50:05 · 380 阅读 · 0 评论 -
数据结构——图的深度优先遍历(邻接矩阵法)
#include<stdio.h>#include<stdlib.h>#define MaxVerexNum 100typedef struct{ int Vex[MaxVerexNum];//顶点的数目 int Edge[MaxVerexNum][MaxVerexNum];//邻接矩阵 int vexnum,arcnum;//图当前的顶点数和弧数 }MGraph;//图的邻接矩阵定义int visited[5];//访问标记数组 void DFS(MGraph.原创 2021-08-09 16:48:00 · 427 阅读 · 0 评论 -
数据结构——图的广度优先遍历(邻接矩阵法)
#include<stdio.h>#include<stdlib.h>#include<queue>#define INFINITY 65535typedef int Status;using namespace std; #define MaxVerexNum 100queue<int>q;typedef struct{ int Vex[MaxVerexNum];//顶点的数目 int Edge[MaxVerexNum][MaxVer.原创 2021-08-09 16:46:30 · 794 阅读 · 0 评论 -
数据结构——图的邻接表建立
#include<stdio.h> #include<stdlib.h>#define MaxVertexNum 100typedef struct ArcNode//边表结点 { int adjvex;//该弧指向的顶点的位置 struct ArcNode *nextarc;}ArcNode;typedef struct VNode//顶点结点 { int data; ArcNode *firstarc;}VNode,AdjList[MaxVertexN.原创 2021-08-09 16:44:08 · 158 阅读 · 0 评论 -
数据结构——C语言实现图的邻接表的拓扑排序
#include<stdio.h> #include<stdlib.h>#define MaxVertexNum 100//下面构造工具栈 typedef int SElemType;#define STACK_INIT_SIZE 10 //存储空间初始分配量#define STACKINCREMENT 2 //存储空间分配增量typedef struct SqStack{ int *base;//基指针 int *top;.原创 2021-08-09 16:37:42 · 427 阅读 · 0 评论