算法及数据结构(C语言版)
文章平均质量分 85
ACM基础
靓仔很忙i
我是一名程序员up!欢迎大家关注,私信,交流技术。
我的个人主页:http://xlwang.top/
展开
-
数据结构------图的创建(邻接矩阵)
#include <stdio.h>#include <stdlib.h>#define MAX 4typedef struct GNode{ int v; int e; int w[MAX][MAX]; char vex[MAX]; int flag[MAX];}GNode;GNode* initGrape(GNode *G){ int i,...原创 2018-05-06 08:37:18 · 1151 阅读 · 0 评论 -
数据结构------油田勘测(深度优先算法,广度优先算法)
#include <stdio.h>char a[100][100];int b[100][100],m,n;int x[8]={-1,-1,-1,0,0,1,1,1};int y[8]={-1,0,1,-1,1,-1,0,1};//深度优先算法 void dfs(int i,int j){ int k; int tx; int ty; b[i][j]=1;...原创 2018-05-06 09:19:56 · 428 阅读 · 0 评论 -
数据结构------4.前序遍历,中序遍历,后序遍历(树的深度优先算法),层序遍历(树的广度优先算法)
#include <stdio.h>#include <stdlib.h>#include <queue>using namespace std;void preOrder(Node *node){ if(node==NULL) return; printf("%d",node->k); preOrder(node->l); pr...原创 2018-05-04 12:15:51 · 232 阅读 · 0 评论 -
数据结构------3.二叉搜索树的插入与查找
#include <stdio.h>#include <stdlib.h>typedef struct Node{ int k; char v; struct Node* l; struct Node* r;}Node;Node *root;Node* insert(Node *node,int k,char v){ if(node==NULL...原创 2018-05-04 11:33:04 · 158 阅读 · 0 评论 -
数据结构------2.c++实现树(二叉树)的建立和遍历算法(一)(前序,中序,后序)
文章转自:c实现树(二叉树)的建立和遍历算法(一)(前序,中序,后序) 最近学习树的概念,有关二叉树的实现算法记录下来。。。 不过学习之前要了解的预备知识:树的概念;二叉树的存储结构;二叉树的遍历方法。。 二叉树的存储结构主要了解二叉链表结构,也就是一个数据域,两个指针域,(分别为指向左右孩子的指针),从下面程序1,二叉树的存储结构可以看出。 二叉树的遍历方法:主...转载 2018-05-02 20:15:23 · 2020 阅读 · 1 评论 -
数据结构------1.线性表
定义 线性表(linear list)是数据结构的一种,一个线性表是n个具有相同特性的数据元素的有限序列。数据元素是一个抽象的符号,其具体含义在不同的情况下一般不同。 在稍复杂的线性表中,一个数据元素可由多个数据项(item)组成,此种情况下常把数据元素称为记录(record),含有大量记录的线性表又称文件(file)。 顺序表:只要确定了存储线性表...原创 2018-02-08 10:49:44 · 251 阅读 · 0 评论 -
ACM------First Blood(合工大OJ 1343)
int main(){ int T; scanf("%d",&T); while(T--){ long long n,max; scanf("%I64d",&n); if(n<=2)max=n; else if(n%2==1) max=n*(n-1)*(n-2); ...原创 2018-05-08 15:52:36 · 443 阅读 · 0 评论 -
ACM------输出菱形
题目来源:https://nanti.jisuanke.com/t/17109由键盘输出任意一个自然数 nn,输出如下图:形如“菱形”的由大写字母组成的图形,注意上一半开始字母相同,下一半结束字母相同。(注意:每一行输出字母后没有多余的空格)n = 1n=1 的时候 1An = 2n=2 的时候 1 A2ABC3 C...原创 2018-05-18 17:39:22 · 479 阅读 · 0 评论 -
ACM------求和(合工大OJ 1344)
拿到问题,上来分析,感觉挺简单,不是双重循环就ok了吗?于是,上来就很暴力,直接上代码#include <stdio.h>int f(int n,int k){ int i,j,d,sum; d=-1; sum=0; for(i=1;i<=n;i++) { for(j=1;j<=k;j++) sum+=d*i; d*=-1; } re...原创 2018-05-08 17:35:26 · 667 阅读 · 0 评论 -
ACM------吃在工大(合工大OJ 1359)
文章转自:https://blog.csdn.net/fjinhao/article/details/52662554C++ 中vector的使用方法memset用法小结吃在工大 Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 51 Accepted: 15 Descri...转载 2018-05-11 11:24:21 · 1184 阅读 · 0 评论 -
ACM------数制转换问题,确定数制,最长子串,统计字符数
void jinzhiConvert()//p进制转换为R进制{ int p,r,len,i,k,d,temp; char s[10],mod[10]; while(~scanf("%d %d %s",&p,&r,&s)) { len=strlen(s); k=1; d=0; for(i=len-1;i>=0;i--)//p进制转换为...原创 2018-03-24 15:34:47 · 419 阅读 · 0 评论 -
ACM------递归问题:Fibonacci序列,分数数列,过河卒,平面分隔问题,棋盘完美覆盖,数字序列
void fibonacci()//fibonacci序列{ int n; while(scanf("%d",&n)) { if(n<0) break; if((n+2)%4==0) printf("Yes\n"); else printf("No\n"); } return 0;}void fractional()//结果有问题{ int ...原创 2018-03-24 14:53:25 · 253 阅读 · 0 评论 -
ACM------简单数据处理:最大公约数,树根,鸡兔同笼,电梯,路边的树,大数的位数,会绕圈的数,K尾数
#include <stdio.h>#include <string.h>void convert(){ char strb[200]; int i; while(1) { gets(strb); if(strcmp(strb,"endofinput")==0) return; gets(strb); for(i=0;i<20...原创 2018-03-24 14:45:04 · 266 阅读 · 0 评论 -
ACM------int64与long long、long的区别
文章转自:http://www.cnblogs.com/ChenDinghao/p/6480937.html首先来看一看int、long、long long的取值范围int 所占字节数为:4 表示范围为:-2147483648~2147483647short int 所占字节数为:2 ...转载 2018-05-08 15:55:59 · 2059 阅读 · 0 评论 -
C语言------五大常用算法总结
文章转自:https://blog.csdn.net/changyuanchn/article/details/51476281 引言据说有人归纳了计算机的五大常用算法,它们是贪婪算法,动态规划算法,分治算法,回溯算法以及分支限界算法。虽然不知道为何要将这五个算法归为最常用的算法,但是毫无疑问,这五个算法是有很多应用场景的,最优化问题大多可以利用这些算法解决。算法的本质就是解决问题。当...转载 2018-05-05 18:03:57 · 19132 阅读 · 0 评论 -
C语言------程序中的两个小问题
for循环的小问题#include <stdio.h>#include <string.h>void convertQ(int a,int b){ int c,i=0; char d[10]; while(a) { c=a%b; a=a/b; if(c<10) { d[i]=c+'0'; i++; } el...原创 2018-04-19 22:55:20 · 128 阅读 · 0 评论 -
C语言------malloc函数详解
一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include <malloc.h> 或 #include <alloc.h> (注意:alloc.h 与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针N...转载 2018-04-22 11:05:48 · 324 阅读 · 0 评论 -
C语言------qsort
文章转自:http://acm.hdu.edu.cn/forum/read.php?tid=535七种sqort排序方法<本文中的排序都是采用从小到大的排序序列>int,double,char排序示例:#include<stdio.h>#include <stdlib.h>#include <string.h>int cmp...转载 2018-05-02 20:39:16 · 268 阅读 · 0 评论 -
C语言------VC++6.0注释及取消快捷键设置
注释快捷键在程序编程当中的作用相当明显,提高了编程效率。我在网上找到了一个在VC++6.0工具中添加注释快捷键的方法,VC++6.0是以VB为脚本来配置的。首先,找到VC++6.0的安装路径,假设在:D:\Program Files (x86)\Microsoft Visual Studio 6.0,那么进入到Common\MSDev98\Macros目录下,全路径为:D:\Program F...原创 2018-03-02 16:51:22 · 6121 阅读 · 3 评论