数据结构
奔跑的废柴
卧久者行必远,伏久者飞必高
展开
-
数据结构排序——插入选择堆冒泡快速归并基数
排序各种方法的复杂度表直接插入排序初始可认为文件中的第1个记录己排好序,然后将第2个到第n个记录依次插入已排序的记录组成的文件中。在对第i个记录Ri进行插入时,R1,R2,…,Ri-1已排序,将记录Ri的排序码keyi与已经排好序的排序码从右向左依次比较,找到Ri应插入的位置,将该位置以后直到Ri-1各记录顺序后移。哨兵r[0]存放上一次插入的数。折半插入排序根据插入排序的基本思...原创 2020-01-07 13:49:03 · 152 阅读 · 0 评论 -
分治快速排序
#include<bits/stdc++.h>using namespace std;int a[]={93,27,30,2,8,12,2,8,30,89};void swap(int &a,int &b){ int tmp=a; a=b; b=tmp; } void QuickSort(int a[],int s,int e){ if(s>...原创 2019-11-19 10:53:15 · 104 阅读 · 0 评论 -
归并排序C语言
#include<bits/stdc++.h>using namespace std;int a[10]={13,27,19,2,8,12,2,8,30,89};int b[10];void Merge(int a[],int s,int m,int e,int tmp[]);void MergeSort(int a[],int s,int e,int tmp[]);int...原创 2019-11-19 10:52:36 · 238 阅读 · 0 评论 -
C语言复习——结构体作为参数传入函数
看同学作业代码是这样,不解地百度了下结果:其实函数参数默认是通过r0,r1,r2,r3四个寄存器传递的,多余的参数是通过将参数压入栈中传递的。同理对于一个结构体如果其大小少于32字节(4个寄存器),按照正常的方式通过r0到r3传递,多于32字节则是将多余的部分在堆栈上建立个备份进行传递。所以对于在ADS编译器下对于函数参数是结构体的传递,还是传入指针比较好。既高效(省去建立备份的时间),又...原创 2019-10-28 14:15:45 · 1989 阅读 · 0 评论 -
数据结构实验-拓扑排序C语言-严蔚敏源码-含栈和图的邻接表
太难了 。太难了。拓扑排序作业成为最近学习的心头刺、、找出源码还是那么多,那么多文件。一个个来看吧。【algo7-4.c】 /* algo7-4.c 输出有向图的一个拓扑序列。实现算法7.12的程序 */ #include"c1.h" #define MAX_NAME 5 /* 顶点字符串的最大长度 */ typedef int InfoType; typedef char Ve...原创 2019-10-25 15:45:07 · 712 阅读 · 0 评论 -
数据结构实验-邻接矩阵表示带权值的图(网)
这里是无向图。# include <stdio.h># include <stdlib.h>#include <conio.h># define MAX 20#define INF 32767typedef int VexType;typedef VexType Mgraph[MAX][MAX]; /* Mgraph是二维数组类型标识符 *//...原创 2019-10-22 18:01:03 · 3483 阅读 · 0 评论 -
数据结构实验-深度遍历邻接矩阵 有向图&无向图
无向图# include <stdio.h># include <stdlib.h>#include <conio.h># define MAX 20typedef int VexType;typedef VexType Mgraph[MAX][MAX]; /* Mgraph是二维数组类型标识符 *//* 函数原形声明 */void creat...原创 2019-10-22 17:58:19 · 491 阅读 · 0 评论 -
数据结构实验-邻接表表示有向图并深度优先遍历
# include <stdio.h># include <stdlib.h>#include <conio.h># define MAX 20typedef int VexType;typedef struct Vnode { VexType data; struct Vnode *next; }Vnode; ...原创 2019-10-22 17:55:21 · 1341 阅读 · 0 评论 -
floyd最短路径算法c语言实现
//算法核心语句 for(k=1;k<=n;k++)//从k中转 for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(e[i][k]<inf&&e[k][j]<inf&&e[i][j]>e[i][k]+e[k][j]) e[i][j]=e[i][k]+e[k][j];...原创 2019-10-22 09:37:55 · 441 阅读 · 0 评论 -
dijkstra最短路径算法c语言实现
数据结构的书真的看不下去啊 awsl找出了以前的dijkstra代码,还是直接看代码爽/*单源最短路:指定一个点到其余各个点的最短路径*/ /*dijkstra主要思想:通过边来松驰1号顶点到其余各个顶点的路程 复杂度N*2*/ /*每次找到离源点最近的一个顶点,然后以该顶点为中心进行扩展,最终得到源点到其余所有点的最短路径*/ /* 基本步骤如下:将所有的顶点分为两部分:已知最短路...原创 2019-10-22 09:22:24 · 1306 阅读 · 0 评论 -
数据结构实验-数组矩阵操作
害,怎么有种写c语言作业的感觉大一学的c语言很多都已经忘了/矩阵的转置,乘法等基本操作。(可以用普通矩阵,也可以用三元组)#include <stdio.h>//转置 void f1(){ int row,col; printf("请输入矩阵行数和列数,用逗号隔开\n"); scanf("%d,%d",&row,&col); int a[row][co...原创 2019-10-21 20:34:19 · 537 阅读 · 0 评论 -
数据结构实验-栈的顺序存储实现
[题目]实验二 栈·队列操作一、实验目的a.掌握栈这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用。b.掌握队列这种数据结构特性及其主要存储结构,并能在现实生活中灵活运用。c.了解和掌握递归程序设计的基本原理和方法。二、实验内容d.栈的顺序存储结构及实现。e.循环队列(即队列的顺序存储结构)实现。三、原代码(注释)c.栈的顺序存储结构及实现。#include...原创 2019-10-10 19:43:17 · 877 阅读 · 0 评论 -
根据遍历序列确定二叉树
原创 2019-09-24 09:13:30 · 221 阅读 · 0 评论