数据结构
&小草莓
研究生
展开
-
排序算法
1.基于顺序表为存储结构的直接插入排序、希尔排序、冒泡排序、快速排序、简单选择排序、堆排序#include<iostream>using namespace std;//直接插入排序 void insertSort(int r[],int n){ for(int i=2;i<=n;i++){ r[0]=r[i]; int j=i-1; while(r[0]<r[j]) r[j+1]=r[j--]; r[j+1]=r[0]; }}//希尔排序 void原创 2021-05-09 09:54:02 · 158 阅读 · 0 评论 -
查找
顺序查找&&折半查找#include<iostream>using namespace std;int seqSearch(int a[],int n,int x){ for(int i=0;i<n;i++){ if(a[i]==x) return i+1; } return 0;}int seqSearch2(int a[],int n,int x){ a[0]=x; int i=n; while(a[i]!=a[0]) i--; return原创 2021-05-09 08:48:58 · 129 阅读 · 1 评论 -
图
1.1.以邻接矩阵为存储结构的无向图的类的定义#include<iostream>using namespace std;const int Max=15;template<typename T>class mGraph{ T vertexName[Max]; int edge[Max][Max]; int vertexNum,edgeNum; int visited[Max];public: mGraph(T a[],int n,int e){ verte原创 2021-05-09 08:40:43 · 89 阅读 · 0 评论 -
二叉树
1.各种不同的遍历函数、求二叉树的高度函数、求二叉树所有结点函数、求二叉树所有叶子结点函数的算法设计。代码如下(示例):#include<iostream>using namespace std;#define max 16 template <typename T>struct biNode{ biNode<T> *lChild,*rChild; T data;}; template <typename T>class biTree{原创 2021-05-09 08:29:00 · 89 阅读 · 0 评论 -
稀疏矩阵
#include<iostream>using namespace std;const int Max=3;template <typename T>struct element{ int rows,cols; T value;};template <typename T>class xsjz{ int hs,ls,gs; element<T> data[Max];public: xsjz(){hs=ls=gs=0;} xsjz(i原创 2021-05-09 08:19:53 · 109 阅读 · 0 评论 -
队列
1.定义顺序队列(循环结构)的模板类#include<iostream>using namespace std;#define Max 4 template <typename T>class sequeue{ T data[Max]; int front,rear;public: sequeue(){front=rear=Max-1;} void enqueue(T x){ if((rear+1)%Max==front)throw"队满\n"; rear原创 2021-05-08 22:22:29 · 88 阅读 · 0 评论 -
单链表
一、不同存储结构单链表的实现1.带头结点的单链表的类(模板类)的定义#include<iostream>using namespace std;template <typename T>struct Node{ T data; Node<T> *next;};template <typename T>class headlist{ Node<T> *first;public: headlist(){first=new N原创 2021-05-08 22:12:44 · 78 阅读 · 0 评论 -
顺序表
顺序表1.顺序表的类(模板类)的定义#include<iostream>using namespace std;#define Max 3template<typename T>class seqList{ T data[Max]; int len;public: seqList(){len=0;} seqList(T a[],int n){ if(n>Max) throw"参数不当\n"; len=n; for(int i=0;i<l原创 2021-05-08 22:03:11 · 79 阅读 · 0 评论 -
栈
一、栈的逻辑结构以及允许的操作,并掌握其不同的存储方式。1.顺序栈,栈底为向量的低端#include<iostream>using namespace std;const int Max=3;template<typename T>class seqStack{ T data[Max]; int top;public: seqStack(){top=-1;} bool Empty(){ if(top==-1) return true; else retu原创 2021-05-08 22:16:44 · 118 阅读 · 0 评论