编程
文章平均质量分 60
superyao2008
软件就像玩具,不过只有程序员才能见其构造。我孤独的拼接着属于自己的玩具,希望有一天它能给更多人带来快乐。
展开
-
链表翻转程序
今天看到面试题里面有个链表翻转程序,一时兴起写了一个,第一次竟没得到正确结果,调了半天才出来,稍有惭愧。 #include stdio.h>#include stdlib.h>struct Node...{ int data; struct Node* next;};void orderinsert(Node*& head, Node*& n)...{ Node*原创 2008-05-05 15:50:00 · 761 阅读 · 0 评论 -
基于Winmm库的音频采集
Winmm库提供的音频采集接口比较底层,可以直接获取和播放wave数据。其主要流程如下:采集1. waveInOpen()2. waveInStart()3. waveInPrepareHeader()4. waveInAddBuffer()5. waveInUnprepareHeader()6. waveInStop()7. waveInReset()8. waveInClose()如果是不停的原创 2009-06-16 20:17:00 · 3288 阅读 · 0 评论 -
二分法查找有序数组
int find(int* array, int begin, int end, int aim){ do { int mid=begin+(end-begin)/2; if(array[mid]==aim) return mid; else if (aim else begin=mid;原创 2008-12-26 10:13:00 · 789 阅读 · 0 评论 -
快速排序
int HandShake( int* array, int start, int end ){ int tmp=array[start];//将首个元素作为中间值,并寄存起来 do{ while( array[end]>=tmp && start if( start {array[start]=array[end];//发现一个小的,丢到前原创 2008-12-21 16:16:00 · 334 阅读 · 0 评论 -
C语言常用
宏的一些用法#操作符例如#define str(x) #x如果在程序中输入语句str(testing)最终展开形式将会是"testing"##操作符例如#define printx(n) printf("%d/n", x##n)语句中的字符串“x##n”的##操作符将前面和后面的记号连接起来,合成一个新的记号printf(20);将被展开成如下形式:printf("%d/n",f20);原创 2008-12-01 15:33:00 · 518 阅读 · 0 评论 -
之字形访问数组算法
void ZVisit(int** array,int size){ int i=0,j=0; printf("%d ",array[i][j]); j++; //首先向右一步 printf("%d ",array[i][j]); while (i<size || j<size) { while((j-1)>=0 && (i+1)<size){ //向左下原创 2009-01-23 09:22:00 · 722 阅读 · 0 评论 -
MYSQL C API 一例
一个获取查询结果的例子std::string sql="select userid from user";if ( mysql_real_query(&mysql,sql.c_str(),sql.size())!=0 ){ return FALSE;}MYSQL_RES *sql_res_set;MYSQL_ROW sql_row;unsigned long *sql_length;sql_r原创 2008-11-20 14:49:00 · 368 阅读 · 0 评论 -
利用GetPrivateProfileString读取配置文件(.ini)
转自http://hi.baidu.com/jywb_pub/blog/item/1bb0a30132f01d00738da5f3.html 配置文件中经常用到ini文件,在VC中其函数分别为:写入.ini文件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LP转载 2008-11-21 11:38:00 · 456 阅读 · 0 评论 -
排列组合程序
今天忽然想起高中最基本的排列组合公式,想起用程序实现一下将排列组合各项列出来的功能。由于是递归写法,还是调试了一些时候才搞出来,不过感觉写法还是比较简洁的,记录在这里,还有改进余地。 typedef std::vector IntVec;typedef IntVec::iterator IntVecIter;//组合数的递归算法//begin i原创 2008-06-19 20:42:00 · 4827 阅读 · 0 评论 -
libiconv使用小例子
最近用到一点转码的东西,在网上搜到一个libiconv,使用了一下感觉还可以,不过还是有一两处容易犯错的地方,调试了半天才搞明白,此处是一个将UTF-8转换为GBK的小例子:std::string convFromUTF8(std::string s){ iconv_t cd=iconv_open("GBK","UTF-8"); if (cd==(iconv_t)-1) {原创 2008-06-09 17:32:00 · 1613 阅读 · 0 评论 -
c++循环包含一种解决方法
上次在一个设计当中遇到A类调用B类,B类又调用A类的问题,由于循环包含搞了半天,后来觉得还是将其用接口方式实现好一些,也就是将会被别人调用的方法写成抽象类放在一个公共文件中,包含的时候都使用抽象接口,如下面的例子:先设计一个公共包含的x.h#ifndef X_H#define X_Hclass ABase{public: virtual void aa() = 0;};class原创 2008-07-24 16:55:00 · 1222 阅读 · 0 评论 -
windows控制台程序获取中断的简单程序
写简单的控制台程序的时候如果需要在用户通过Ctrl-C结束程序前进行一些收尾工作,那么首先要获取中断信号,下面程序是一个示例 #include #include#include void sigint_catch(int sig_no){ printf("will quit .../n"); if(SIGINT == sig_no){原创 2008-07-09 10:13:00 · 1762 阅读 · 0 评论 -
windows bat 文件脚本例子
window bat 脚本原创 2010-07-05 12:05:00 · 2339 阅读 · 0 评论