【C语言实现顺序栈】教程文章相关的互联网学习教程文章

最小生成树与最短路径--C语言实现【代码】【图】

接昨天,在这里给出图的其中一种应用:最小生成树算法(Prime算法和Kruskal算法)。两种算法的区别就是:Prime算法以顶点为主线,适合用于顶点少,边密集的图结构;Kruskal算法以边为主线,适合于顶点比较多,但是边比较稀疏的图结构。代码如下,亲测,可执行,在最后也给出输入数据的形式。 1/* 2图结构的最小生成树算法:3 1.prime算法:按顶点查找,遍历当前顶点所有邻接边,选择权值最小值,4 记录这两个顶点,直到所有...

c语言中实现从0-1的随机数输出

原文:c语言中实现从0-1的随机数输出 今天晚上同学问了一个巨简单的问题,问我怎么用c语言输出0-1的随机数,可别说,一时之间还想不出来。在写的过程中发现,直接调用random函数还不能实现,用以下方法可以解决: #include<stdio.h>#include<time.h>#include<stdlib.h> int main() { int i; srand(time(NULL)); printf("%lf\n",(double)rand()/RAND_MAX); return (0); }原文:http://www.cnblogs.com/lonelyxmas/p/4159946.html

C语言实现控制台中光标随意移动【代码】【图】

开始准备学习下C,新手哦~~今天弄了个控制台程序,光标可以随意在DOS下移动~~先放一张效果图,不过很丑,大家能不能看懂,哈哈,就是I Love You. 代码注释都有,其实好多东西我都是从其他地方拷贝了一些代码,毕竟是新手,还是需要多向网上的一些大神学习的。原理就是引入windows.h,首先是要获得输入的东西,然后通过判断:1.方向键:执行上下左右的移动功能2:回车键:执行换行的功能。3.普通键:输入功能。终点就是要获取到屏幕上...

DSP滤波程序C语言实现【代码】

通过matlab对数字信号进行滤波器的设计后,我们要将设计好的参数放到嵌入式系统中进行滤波。IIR滤波器FIR滤波器#include <stdio.h> #include <malloc.h> //z变换转成差分方程然后迭代 //Talen @UESTC 2015.6.5//打印数组 void print(float *x,int len); //取后第1-n个 float* aminusone(float* a,int ar); //差分中间值 float gtcet(float *t,float *x,int xr,int s,int d); //主要滤波函数 float* gfilter(float *b,int br,float ...

c语言实现动态指针数组Dynamic arrays

c语言实现动态数组。基本原理:事先准备好一个固定长度的数组。如果长度不够的时候,realloc一块区域。另外:在数组元素减少的情况下,需要缩减数组长度。主要接口:cp_bool DyArrayAppend(DyArray* pArr, void* pData)//加数据到数组末尾 cp_bool DyArrayExpand(DyArray* pArr, cp_int32 nNeed)//扩展数组 cp_bool DyArrayDelete(DyArray* pArr, cp_int32 nIndex)//删除元素by index cp_bool DyArrayShrink(DyArray* pArr)//缩减数...

比之前那个版本更简单的C语言实现的比较大小【代码】

之前那个是输入一堆数据,找最大那个,这次是更简单的版本,求两个数的最大值。#include "stdafx.h" #include <stdio.h> int GetMax(int a ,int b){ if(a>b) return a; elsereturn b; } void main(){ int x,y,max; printf("请输入两个数值\n"); scanf_s("%d%d",&x,&y); max=GetMax(x,y); printf("最大值为%d\n",max); } 原文:http://www.cnblogs.com/weijunyu/p/5675079.html

C语言实现 读取写入ini文件实现(转)【代码】

#include <stdio.h> #include <string.h> /* * 函数名: GetIniKeyString * 入口参数: title * 配置文件中一组数据的标识 * key * 这组数据中要读出的值的标识 * filename * 要读取的文件路径 * 返回值: 找到需要查的值则返回正确结果 * 否则返回NULL */char *GetIniKeyString(c...

【C语言】模拟实现strchr函数.即在一个字符串中查找一个字符第一次出现的位置并返回

//模拟实现strchr函数.即在一个字符串中查找一个字符第一次出现的位置并返回 #include <stdio.h> //#include <string.h> #include <assert.h> char* my_strchr(char *dst, char src) {assert(dst);while (*dst != '\0'){if (*dst == src)return dst;dst++;}return 0; } int main() {char a[] = "hello world!";printf("%s\n", my_strchr(a, 'l'));//printf("%s\n", strchr(a, 'e'));return 0; }版权声明:本文为博主原创文章,未经...

C语言实现高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。【代码】【图】

学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中, 请编写函数fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数通过形参n传回,平均分通过函数值返回。#include <stdio.h> #define N 12 typedef struct { char num[10];double s; } STREC; double fun( STREC *a, STREC *b, int *n ) {int i;double av=0;*n=0;for(i=0;i<N;i++){av+=a[i].s/N;}for(i=0;...

数据结构之C语言模拟整数数组实现【代码】

#include <stdio.h> #include <malloc.h> #include <stdlib.h>typedef struct Arr {int *pBase; //数组第一个元素地址int len; //数组长度int cnt; //当前有效元素数量} Array;void init_array(Array *, int); //初始化数组void show_array(Array *); //遍历打印数组bool is_empty(Array *); //判断数组是否空bool insert_array(Array *, int pos, int); //插入元素 pos表示在第几个元素前面插入bool append_array(Array *...

栈的顺序表示和实现(C语言)【代码】【图】

#include <stdio.h> #include <stdlib.h>constint MAXSIZE = 100; #define OK 1; #define ERROR 0; #define OVERFLOW 0; #define TURE 1; #define FALSE 0;typedef int Status; typedef char SElemType; //栈型数据 //顺序栈定义 typedef struct {SElemType *base; //栈顶指针SElemType *top; //栈底指针int stacksize; //顺序栈可用最大容量 } SqStack; //顺序栈 //顺序栈初始化 Status InitStack(SqStack *stack){stack...

c语言实现一个链表【图】

一、基础研究我们在这里要理解和实现一种最基本的数据结构:链表。首先看看实现的程序代码:List .h: 事实上我们观察list.h发现前面一部分是数据结构的定义和函数的声明,后面一部分是函数的实现。我们仅仅观察前面一部分就可以知道这个链表的结构是怎么实现的了。程序将处理的对象分成了三类:线性表、结点和元素,分别定义了它们的数据类型和操作函数,对线性表有创建、撤销、清空操作,对元素有追加、加入、删除、取...

c语言来实现c++

闲来没事,看了看sqlite的源码,突然想用c实现c++,写了如下demo,自我感觉不错#include <stdio.h> #include <stdlib.h>struct Class; typedef struct Class _Class;struct IMethod {void (*ctor)(_Class *c);void (*dtor)(_Class *c);int (*sum)(_Class* c);int (*getValueA)(_Class* c);int (*getValueB)(_Class* c);void (*setValueA)(_Class*c, int a);void (*setValueB)(_Class *c, int b); }; typedef struct IMethod _IMeth...

C语言常用库函数实现【代码】

1.memcpy函数memcpy 函数用于 把资源内存(src所指向的内存区域) 拷贝到目标内存(dest所指向的内存区域);拷贝多少个?有一个size变量控制拷贝的字节数;函数原型:void *memcpy(void *dest, void *src, unsigned int count);用法:可以拷贝任何类型的对象,因为函数的参数类型是void*(未定义类型指针),也就是说传进去的实参可以是int*,short*,char*等等,但是由于函数拷贝的过程是一个字节一个字节的拷贝的,所以实际操作...

双向链表的实现与操作(C语言实现)

双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循环链表。单链表的局限1,单链表的结点都只有一个指向下一个结点的指针2,单链表的数据元素无法直接访问其前驱元素3,逆序访问单链表中的元素是极其耗时的操作双向链表的操作双向链表的新操作1,获取当前游标指向的数据元素2...