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

最小堆 / 优先队列(C语言实现)

#include<stdio.h> void main() {//其中第一条斜线是00 - 11 - 22 -33 第二条10 - 21 - 32int arr2[4][4] = { 00, 01, 02, 03,10 , 11, 12, 13, 20 , 21, 22, 23,30, 31, 32, 33,};int i, j;int sum = 0;int index = 0;for (int i = 0; i < 4; i++){for (int j = 0; j < 4; j++){//printf("最初的i=%d", i);//满足这个条件的情况下if (j - i == j){int index = j ;printf("\n\n\n%d\n\n", index);printf("i=%d,j=%d\n...

C语言实现状态设计模式

#include <stdio.h> #include <stdlib.h> #include <string.h>#ifndef VIRTUAL #define VIRTUAL #endif#ifndef DELETE #define DELETE(X) do { free(X);X = NULL; } while(0) #endif#define NEW(TYPE,pInstance,SUBTYPE) struct TYPE* pInstance = NULL; struct SUBTYPE* SUBTYPE##instance = (struct SUBTYPE*)malloc(sizeof(struct SUBTYPE)); SUBTYPE##instance->SUBTYPE##_constructor = SUBTYPE##_construc...

用C语言实现统计一个文件夹中各种文件的比例【代码】【图】

原文:用C语言实现统计一个文件夹中各种文件的比例  《UNIX环境高级编程》中的程序清单4-7就介绍了如何实现递归地统计某个目录下面的文件!我刚开始看过它的代码后,觉得照着敲太没意思了,所以就合上书自己写了一遍!为此还写了一篇博文,这是博文地址: 在linux下用C语言实现递归查看某个目录中的所有文件【CSDN】!今天做《Unix环境高级编程》的课后题,看到题目4.11这里提供了一种新的实现这个程序的思路,那就是每回读到一个...

c语言编程:实现数字的翻转

方法一:(易理解的)#include<stdio.h> #include<stdlib.h>int main() {int n;scanf("%d",&n);//输入要翻转的数字 int result = 0;//保存翻转后的结果while(1)//while(true)也可以 {int i = n%10;//每次都是得到最低位上的数字result = result*10+i;n = n/10;//递归降位if(n == 0){break;} }printf("翻转后的数字是%d\n",result); } 方法二(模块化设计,好像是百度的面试题) #include<stdio.h> #include<stdlib.h>//获取一个整数...

Android通过JNI实现与C语言的串口通讯操作蓝牙硬件模块【图】

一直想写一份技术文档,但由于自感能力有限而无从下笔,最近做了个关于Android平台下实现与C语言的通讯来操作蓝牙模块的项目,中间碰到了许多问题,也在网上查了许多资料,在完成主要功能后,也有一些人在网上问我一些问题,这里写下这篇文档算是一个阶段性的总结。如果反响好,后续将会发上Android Stub与新版Android HAL的学习文档。由于蓝牙模块是串口通讯机制,使用C语言来访问,而Android的应用层采用Java,无法直接操作硬件。...

二叉树的非递归遍历C语言实现

腾讯面试中被问到二叉树的非递归遍历实现,当时记得不太清楚,回来专门复习了非递归的实现,整理代码如下://采用二叉链表存储方式的二叉树,非递归中序遍历C语言实现代码 #include<stdio.h> #include <malloc.h> //函数结果状态代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 //Status是函数的类型,其值是函数结果状态代码 typedef int Status;#define STACK_INI...

C语言实现简单的哈希表【代码】【图】

这是一个简单的哈希表的实现,用c语言做的。原理先说一下原理。先是有一个bucket数组,也就是所谓的桶。哈希表的特点就是数据与其在表中的位置存在相关性,也就是有关系的,通过数据应该可以计算出其位置。这个哈希表是用于存储一些键值对(key -- value)关系的数据,其key也就是其在表中的索引,value是附带的数据。通过散列算法,将字符串的key映射到某个桶中,这个算法是确定的,也就是说一个key必然对应一个bucket。然后是碰撞问...

【C语言】两种方式实现冒泡排序算法【代码】

题目要求编写一个C语言程序,实现基本的冒泡排序算法.算法冒泡排序,用一句话来总结:一组数中,相邻的两个数进行比较、交换,将最大(小)数交换至尾(首)部,即完成了一次冒泡排序要想对N个数字进行排序,循环N次即可.如果真的不理解冒泡排序算法,请点击:冒泡排序_360百科核心代码//方式一:从头向尾遍历,将最大数(相对)沉入尾部(相对) void BubbleSort1(int *arr,int sz){int i = 0;int j = 0;assert(arr);for(i=0;i<sz-1;i++){for(j=0;j<s...

(转载)C语言单链表实现19个功能完全详解

最近在复习数据结构,想把数据结构里面涉及的都自己实现一下,完全是用C语言实现的。自己编写的不是很好,大家可以参考,有错误希望帮忙指正,现在正处于编写阶段,一共将要实现19个功能。到目前我只写了一半,先传上来,大家有兴趣的可以帮忙指正,谢谢在vs2010上面编译运行无错误。每天都会把我写的新代码添加到这个里面。直到此链表完成。#include "stdafx.h"#include "stdio.h"#include <stdlib.h>#include "string.h" typedef...

如何在C语言里实现“面向对象编程”

有人认为面向对象是C++/Java这种高级语言的专利,实际不是这样,面向对象作为一种设计方法,是不限制语言的。只能说,用C++/Java这种语法来实现面向对象会更容易、更自然一些。在本节中,就展示如何在C语言中实现面向对象编程,这是一件吃力的工作。写这些的目的有两个:① 更好的掌握C++中的class的概念。学习了本章,就知道C程序员的无耐,就知道为什么要发明一个class的概念、为什么要有成员函数等等。② 为C程序员提供一个参考...

C语言实现php服务器【图】

原理介绍原创性申明:本文地址是 http://blog.csdn.net/zhujunxxxxx/article/details/40658925 转载请注明出处。作者联系邮箱 zhujunxxxxx@163.comHTTP协议的作用原理 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为: GET 路径/文件名...

直接插入排序C语言实现

直接插入排序是最简单的排序算法,基本思想是每次将一个带排序的记录,按其关键字大小插入到前面已排序好的子序列中,直到全部数据完成。其相应的C代码实现如下: #include "stdio.h"void InsertSort(int a[], int n) //直接插入排序{ int i,j,temp=0; for(i=1;i<n;i++) { if(a[i]<a[i-1]) { temp = a[i]; for(j=i-1;j>=0 && a[j]>temp;j--) { a[j+1]=a[j]; } a[j+1]=temp; // } }}void main(){ int a[10]={0,6,67...

队列的顺序存储结构(循环队列)(C语言实现)【代码】【图】

1 #include <stdio.h>2 #include <stdlib.h>3 4#define OK 15#define ERR 26#define TRUE 17#define FALSE 08#define MAXSIZE 4 //定义队列的最大长度 9 10 typedef int status; //定义函数返回的状态,OK & ERR 11 typedef char datatype; //定义队列中每个元素的数据类型,这里暂定为字符型 12 13 typedef struct {14 datatype data[MAXSIZE]; //存储着队列中的每个元素 15int front, rear; //头指针和尾指针 16/* 17 假...

2、C语言实现通讯录【代码】

main函数入口://test.c #include<stdio.h> #include<stdlib.h> #include<string.h> #include "address.h"//显示界面void Interface_Display() {printf("**********通讯录**********\n");printf("****1.添加联系人信息******\n");printf("****2.删除指定联系人信息**\n");printf("****3.查找指定联系人信息**\n");printf("****4.修改指定联系人信息**\n");printf("****5.显示所有联系人信息**\n");printf("****6.清空所...

队列C语言实现【代码】

typedef struct QUEUE {ElementType *data;int front;int rear;int maxSize; }*Queue;Queue CreateQueue(int maxSize){Queue Q = (Queue)malloc(sizeof(struct QUEUE));Q->data = (ElementType*)malloc(sizeof(ElementType)*maxSize);Q->front = 0;Q->rear = 0;Q->maxSize = maxSize;return Q; }void DestroyQueue(Queue Q) {if (Q && Q->data) {free(Q->data);free(Q);} }int IsFullQueue(Queue Q){return (Q->front == (Q->rear ...