【数据结构】
Andy--lee
这个作者很懒,什么都没留下…
展开
-
数据结构之线性表(顺序表,单链表,循环链表,双向链表)-- 图书管理系统
顺序表#include <iostream>#include <cstring>#include <cstdlib>///exit()头文件exit(0):正常执行程序并退出程序。exit(1):非正常执行导致退出程序#include <fstream>///fstream是C++ STL中对文件操作的合集#include <io...原创 2018-09-09 15:31:40 · 4498 阅读 · 3 评论 -
栈(顺序栈,链栈)
顺序栈顺序栈是指利用顺序存储结构实现的栈,即利用一组地址连续的存储单元依次存放自栈底到栈顶的数据元素。代码实现如下:#include <iostream>#include <stdio.h>#include <malloc.h>using namespace std;typedef int SElemType;typedef int S...原创 2018-09-26 18:24:32 · 700 阅读 · 0 评论 -
动态数组的实现
#include <stdio.h>#include <malloc.h>#include <stdlib.h>/// 程 式 名: DyArray.c/// 程式功能: 动态数组的实现/// 功能描述: 动态数组的创建与使用int main(){ int *array = 0, num, i; printf("please i...原创 2018-10-12 23:31:36 · 1086 阅读 · 0 评论 -
n的阶乘(递归与非递归)
#include <bits/stdc++.h>using namespace std;typedef long long ll;ll f(ll n)///递归算法{ if(n==0 || n==1) return 1; else return n * f(n-1);}ll g(ll n)///非递归算法{ ll ans = 1; if...原创 2018-10-12 23:47:38 · 776 阅读 · 0 评论 -
斐波那契数列(递归与非递归)
#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MAXN = 1e2+10;ll a[MAXN];ll F[MAXN];ll f(ll n) ///递归{ if(F[n]>0) return F[n]; if(n==1 || n==2) retur...原创 2018-10-13 11:02:23 · 274 阅读 · 0 评论 -
循环队列(顺序表实现,链表实现)
循环队列循环队列是将顺序队列变为一个变成一个环状的空间。头尾指针以及队列元素之间的关系不变,只是在循环队列中,头尾指针“依环状增 1”的操作可用”模“运算来实现。通过取模运算,头指针和尾指针就可以在顺序表空间内以头尾衔接的方式循环移动。队空条件:Q.front == Q.rear队满条件:(Q.rear + 1)% MAXQSIZE == Q.rear(少用一个元素空间,即队列空间为m...原创 2018-10-09 16:23:50 · 3101 阅读 · 0 评论 -
二叉树(建立与访问)(先序,中序,后序)
二叉树的建立(先序建立)二叉树的访问(递归与非递归 先序)(递归与非递归中序)(递归与非递归 后序)#include<iostream>#include<stack>using namespace std;struct Tree_Node ///结点的结构{ char data; ///每个结点的数据 Tree_Node * left; ...原创 2018-10-27 17:41:53 · 409 阅读 · 0 评论 -
数据结构--排序算法
Ps:one:程序的数据存储均是从下标1开始的。 two:以下程序均是升序。直接插入排序(O() 稳定排序)思路:插入排序是一种比较容易想到的算法,它的思路有点向我们打扑克时排列手牌的操作。比如我们要把手中的牌从左至右,从小到大进行排序。此时只需要将牌一张张抽出来,依次插入到前面已经排好的适当位置。只需重复这一操作直至插入最后一张牌,排序就已经完成了。(注意:二分中的写法,使high所指的...原创 2018-11-29 19:02:02 · 280 阅读 · 0 评论