
C语言
文章平均质量分 68
coFinder
hard working & 2 be No.1
展开
-
什么是一个精简的C语言环境 & 怎么搭建?
1、C语言的精简环境就是只包含C语言编译的编译器,以及一些最基本的库文件的C语言开发环境 2、下面是我的步骤 为了防止在Windows XP下,复杂的环境影响到本次研究,我是将tc2.0做成一个镜像文件tc2.0.iso加载到装有DOS系统的Virtual Box上,因为我的dos下只有一个C盘,所以在dos系统下 D盘就是我的光驱。首先在C盘建立一个minic文件夹原创 2012-04-10 12:37:30 · 6125 阅读 · 0 评论 -
C语言通用数据类型链表的实现,(数据域为指针,可指向任意类型数据)
可接受任意类型的数据的C语言链表 今天在宣讲会上讲了一下我所写的那个可以接收任意类型的参数类型的链表,感觉还是没有讲清楚,再次整理一下 ,同样的道理我们可以构造出其它的可以接受任意数据类型的结构,如:可接收任意数据类型的栈,可接收任意数据类型的队列,可接收任意数据类型的树················· 现在我们要在链表中存储任意类型的数据(也原创 2012-07-25 19:33:55 · 14800 阅读 · 5 评论 -
字符串的模式匹配:KMP算法
/* 2012-7-10,字符串的模式匹配:KMP算法*/#include char string[]="acabaababaabcacaabc";char mod[]="abaabc";int next[10]={0}; //通过模式串来计算得到next数组,里面记录的是在某个字符失配的时候从第几个重新开始void GetNext(char*s原创 2012-07-31 12:34:59 · 784 阅读 · 0 评论 -
面试题:母牛生小母牛,N年之后牛的数量,5种写法
一头母牛从出生后,每两年可以生下一头母牛,即在第二年和第四年分别可产下一头母牛,出生后第五年将会死去。假设农场现有一头母牛,N年后农场的母牛数目是多少,编写程序实现 #include "stdio.h"#include "windows.h"long CowNum(int years);long cow1(int years);long cow2(int year);i原创 2012-08-29 14:20:04 · 4469 阅读 · 1 评论 -
求子数组的最大和:算法求验证
方法是找到线性函数图像的极点:#include "stdio.h"int GetMaxChildArr( int arr[],int size){ int i = 0, sum = 0; int pos =0x80000000 ; /*/一个负的非常大的数,作为最大值的临界点*/ for(i=0 ; i < size ;i++) { sum += arr[i原创 2012-08-30 19:39:20 · 665 阅读 · 0 评论 -
快速排序的三种写法的效率比较
最近在复习排序和查找算法的时候,回想算法课程和数据结构课程上面各种写法,总结一下,顺便比较了一下它们之间的效率, 另《外数据结构》书本上阐述,如果比较的枢纽值不是第一个或者最后一个而是 a[low] ,a[high],a[(high+low)/2] 的中间值,效率还会好很多,但是我在实现的过程中,总是搬移到了错误的位置,没有实现 #include #include原创 2012-09-02 20:26:43 · 2678 阅读 · 0 评论 -
函数调用规范__cdecl和__stdcall的区别一目了然-表格形式
__cdecl __stdcall C 和 C++ 程序的缺省调用规范 为了使用这种调用规范,需要你明确的加上 __stdcall(或 WINAPI )文字。即 return-type __stdcallfunction-name [(argument-list )] 在被 调用函数 (Callee)转载 2012-10-23 16:39:00 · 910 阅读 · 0 评论 -
经典的字符串操作的题目,左旋转,反序输出所有的单词
#include #include TCHAR * ReverseStr(TCHAR * src,int n)//将字符串的前n个字符翻转{ int len = strlen(src); if(src == NULL || n < 1) return NULL; n = (n > len ? len : n); int m = n / 2; T原创 2012-11-04 10:16:32 · 1724 阅读 · 0 评论 -
约瑟夫环问题,经典笔试,鄙视
记得大二上java课的时候老师让在课堂上写出来,每一个人会写,现在想想真是汗颜纳····· #include #define N 12int main(){ int j[N]={0}; int bol[N]={0}; int i,c=0,bleap = 1; for( i =0; i <N;原创 2012-11-04 14:53:40 · 1728 阅读 · 0 评论 -
数组中只出现1次的两个数字(百度面试题) .
首先来看题目要求:在一个数组中除两个数字只出现1次外,其它数字都出现了2次, 要求尽快找出这两个数字。我是直接在这篇文章的基础上思考的http://blog.youkuaiyun.com/morewindows/article/details/7354571 #include using namespace std;void GetTwoDif(int arr[],int co原创 2012-11-28 17:15:36 · 1434 阅读 · 0 评论 -
赫夫曼编码
#include "stdio.h"#define N 8typedef struct{ unsigned int weight;//节点权重 unsigned int parent,lchild,rchild;}HTNode,*HuffmanTree;typedef char ** HuffmanCode;int useable[N*2]={0};//原创 2012-07-21 22:32:23 · 941 阅读 · 3 评论 -
C语言数据结构之:顺序表的实现
#include #define INIT_MAX_SIZE 200#define INCREMENT_SIZE 100typedef struct SHUNXU{ int *data; int length; int listsize;}shunxu,*pshunxu;void initList(pshunxu elem)原创 2012-07-31 12:27:50 · 1299 阅读 · 0 评论 -
MFC程序 打开时 出现 试图执行系统不支持的操作 的提示
今天在看别人的代码的时候 觉得里面有些东西可以删掉,结果呢,再次打开的时候,就出现了试图执行系统不支持的操作 的提示经过一番查看、BD、google总算是知道,是因为删除一些控件的时候一些,声明还在,要删除·········原创 2012-04-18 21:27:00 · 3749 阅读 · 0 评论 -
基于栈结构的迷宫搜索算法,数据结构
原理在数据结构书本(严蔚敏)上面将的很清楚了,通过一个方向标识符来进行方向的搜索: stackmaze.h#include #define INIT_STACK_SIZE 200#define INCREMENT_SIZE 100#define MAXSTEP 80#define N 10typedef struct SEAT{ int x;原创 2012-07-31 16:40:04 · 740 阅读 · 0 评论 -
基于广义表的算术表达式的实现
看过数据结构书上有个算术表达式的实现,觉得实现比较麻烦,用到了队列,栈还有一个难以建立的运算符优先级比较表,在最初看那个本书的时候写了估计一天,最近又在重新温习数据结构,再看打那个表达式的时候,突然想到可以用广义表通过递归建立和运算得到运算结果,实现起来感觉思想上还是比较容易理解的,可能是算法的基础还有有点薄弱,下面的代码几乎写了6个小时,弱爆了。 写的时候发现原创 2012-08-01 19:10:28 · 1913 阅读 · 1 评论 -
二叉排序树的建立和树中节点的查找删除操作
#define EQ(x,m) ( x == m ? 1 : 0)#define LT(x,m) ( x < m ? 1 : 0)typedef int Element;typedef struct tag_Tree{ Element data; struct tag_Tree * lchild; struct tag_Tree * rchild;}*BiT原创 2012-08-10 17:31:50 · 988 阅读 · 0 评论 -
以二叉排序树建立双向链表(两种规则,递增、递减)
上次写了一个二叉树的创建的程序,代码思想基本都是数据结构书本上的,后面看到另外一个人的博客 用java实现了一个二叉排序树的转换为双向链表的程序,代码之多吓我一跳,后面想想用递归的方法从二叉树的基础上按照某种方式建立双向链表,代码量应该不是很多。 #define EQ(x,m) ( x == m ? 1 : 0)#define LT(x,m) ( x < m ? 1 : 0)原创 2012-08-11 21:49:35 · 1525 阅读 · 0 评论 -
C/C++-将一个十六进制的字符串型的数字转换成整型数字.
int str2Hex( char *pstr){ int ans = 0; char *pt; pt = pstr; if( !pstr ) { return 0; } while( *pt ) { ans = ans<<4; if( ( *pt >= 'A' && *pt = 'a' && *原创 2012-08-14 09:54:58 · 5498 阅读 · 0 评论 -
基于栈运算的算术表达式(纠错判错)
#define ISNUM -30#define NOTNUM -50double atof(const char *);double gd[100]={0};char gc[100]={0};int id = 0,ic = 0 ;void pushD(double data){ gd[id++] = data;}int popD(double * data){原创 2012-08-13 20:04:28 · 654 阅读 · 0 评论 -
C语言中main函数的研究,以及对代码断点调试的研究(王爽老师 汇编语言)
我们知道作为一个语言本身是不会有诸如从main函数开始运行这样的条件(深层次的说 底层汇编代码不会指定从mian函数开始的这样的条件,程序开始的位置是初始 CS:IP指定的位置) 1、通过书本上给我们提供的信息,我们知道在tc2.0中,给我们提供了寄存器名来给寄存器存储数据, 编写成如下: 我们知道在C语言中main函数是必定要被执行的,故,原创 2012-04-19 22:22:30 · 10758 阅读 · 1 评论 -
数据结构:多项式链表的操作
包括对链表的冒泡排序,归并排序,链表的释放#include "stdio.h"typedef struct Elem{ double coeff; double exp;}Pair;typedef struct poly{ Pair data; struct poly *next;}*pPolyList,PolyLi原创 2012-07-18 19:20:20 · 968 阅读 · 0 评论 -
链表翻转的两种方法(递归+非递归)
前天在论坛上看到有位同学在问链表转置的问题,下面的人不是在别的地方拷贝来的代码(还有错误),要么就是一点解释都没有 链表定义 typedef struct node{ ElemType data; struct node * next;}ChainNode;typedef struct{ ChainNode *head; int size;原创 2012-11-28 20:46:36 · 1158 阅读 · 0 评论