<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[aspireone的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/aspireone</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; aspireone]]></copyright><item><title><![CDATA[C++单例模式和智能指针]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/120472156</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/120472156</guid><author>aspireone</author><pubDate>Sat, 25 Sep 2021 15:19:10 +0800</pubDate><description><![CDATA[C++单例模式和智能指针
https://www.cnblogs.com/sunchaothu/p/10389842.html
https://blog.youkuaiyun.com/Vicky_Cr/article/details/106299723
智能指针https://www.zhihu.com/question/23403567


]]></description><category></category></item><item><title><![CDATA[互斥锁和条件变量]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/47830543</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/47830543</guid><author>aspireone</author><pubDate>Fri, 21 Aug 2015 10:22:23 +0800</pubDate><description><![CDATA[由于工作站软件的移植牵涉到这方面的内容, 搜一最近一直在学习Linux线程方面的知识!由于这本书上没有将条件变量的问题,所以不能理解的一个函数就是pthread_cond_wait().
    今天终于有点明白了,赶快记下心得!
    条件变量的结构为pthread_cond_t，函数pthread_cond_init（）被用来初始化一个条件变量。它的原型为：
　　extern int ]]></description><category></category></item><item><title><![CDATA[常见数据结构list template]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/47829467</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/47829467</guid><author>aspireone</author><pubDate>Fri, 21 Aug 2015 09:16:03 +0800</pubDate><description><![CDATA[#include
using namespace std;

template 
struct Node{
       Node(T& d):c(d),next(0),pref(0){}
       T c;
       Node *next,*pref;
       };
       
template
class List{
      Node *first,*last;
publ]]></description><category></category></item><item><title><![CDATA[c++设计模式]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/47725417</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/47725417</guid><author>aspireone</author><pubDate>Mon, 17 Aug 2015 15:09:43 +0800</pubDate><description><![CDATA[http://blog.youkuaiyun.com/wuzhekai1985/article/details/6675799]]></description><category></category></item><item><title><![CDATA[有1，2...一直到n的无序数组，求排序算法，并且要求时间复杂度为O（n）,时间复杂度为O（1）]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/47722459</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/47722459</guid><author>aspireone</author><pubDate>Mon, 17 Aug 2015 11:14:31 +0800</pubDate><description><![CDATA[提示：用数组值作为下标

 

分析：

       对于一般数组的排序显然 O(n) 是无法完成的。

      既然题目这样要求，肯定原先的数组有一定的规律，让人们去寻找一种机会。

例如：原始数组：

          a = [ 10, 6,9, 5,2, 8,4,7,1,3 ]

        如果把它们从小到大排序且应该是

         b]]></description><category></category></item><item><title><![CDATA[数据结构的C实现_循环队列]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/21990795</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/21990795</guid><author>aspireone</author><pubDate>Mon, 24 Mar 2014 22:00:30 +0800</pubDate><description><![CDATA[队列的操作特点是“先进先出”。前者主要是头指针、尾指针的使用，后者主要是理解循环队列提出的原因及其特点。两者都要掌握队列空与满的判定条件以及出队列、入队列操作的实现。



//循环队列
#include 
#include 
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define MAXSIZE 10//循环队列的最大]]></description><category></category></item><item><title><![CDATA[哈希表实现]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/21975893</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/21975893</guid><author>aspireone</author><pubDate>Mon, 24 Mar 2014 17:51:30 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

typedef struct _struct_hash_key
{
    unsigned int uiIp;
    unsigned int uiTeid;
} struct_hash_key;

typedef struct _struct_hash_node
{
    struct _struct_hash_node *ps]]></description><category></category></item><item><title><![CDATA[把Win7中的默认宋体改换成XP的宋体]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/21205611</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/21205611</guid><author>aspireone</author><pubDate>Fri, 14 Mar 2014 01:04:34 +0800</pubDate><description><![CDATA[Windows7的默认字体虽然是微软雅黑，但是很多情况下还是要用到宋体。然而Win7自带的宋体改变较大，看起来有点发胀的感觉，没有XP中的宋体紧凑。我们可以提供替换Win7自带的宋体为XP宋体，来解决这个问题。这里介绍一种较为简单的方法，不需要把自带宋体替换，只需要在注册表中把默认宋体的文件名改为XP宋体即可。


1、下载XP的宋体文件，并改名为“simsun_xp.ttc”。下载地址：X]]></description><category></category></item><item><title><![CDATA[linux锁的介绍]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/21028673</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/21028673</guid><author>aspireone</author><pubDate>Tue, 11 Mar 2014 20:00:17 +0800</pubDate><description><![CDATA[锁的类型
互斥量（Mutex）  互斥量

是实现最简单的锁类型。如果在释放操作执行前发生定时器超时，则互斥量也会释放代码块或共享存储区供其他线程访问。当有异常发生时，可使用try-finally语句来确保互斥量被释放。定时器状态或try-finally语句的使用可以避免产生死锁。

对互斥量进行加锁以后，其他试图再次对互斥量枷锁的线程将会被阻塞，知道当前线程释放该互斥锁。在多线程的情况]]></description><category></category></item><item><title><![CDATA[win7或者xp自动拨号]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7746163</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7746163</guid><author>aspireone</author><pubDate>Sat, 14 Jul 2012 10:37:41 +0800</pubDate><description><![CDATA[在网上找的方法，我已经设置成功，方法如下
#######################################################
@echo off
mode con: cols=50 lines=10
title 拨号连接
echo 正在拨号到Internet,稍后......
echo ====================================]]></description><category></category></item><item><title><![CDATA[memcpy源码]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7740258</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7740258</guid><author>aspireone</author><pubDate>Thu, 12 Jul 2012 14:27:02 +0800</pubDate><description><![CDATA[void * memcpy1(void *dest, const void *src, size_t n)
{
        assert(dest!=NULL&&src!=NULL);    //有效性检测
        if(dest == src)
                return dest;
        else if(dest 
        {]]></description><category></category></item><item><title><![CDATA[常见字符串面试问题]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7737621</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7737621</guid><author>aspireone</author><pubDate>Wed, 11 Jul 2012 18:08:38 +0800</pubDate><description><![CDATA[原文来自：http://blog.sina.com.cn/s/blog_6d041c110100mmc3.html
看的时候发现，有的算法很有技巧性，于是自己就添加了注释，希望我下次看的时候能有收获！
1)写出在母串中查找子串出现次数的代码.
int count1(char* str,char* s)
{
    char* s1;
    char* s2;
    int cou]]></description><category></category></item><item><title><![CDATA[编写一个程序，开启3个线程，这3个线程的ID分别为A、B、C，每个线程将自己的ID在屏幕上打印10遍，要求输出结果必须按ABC的顺序显示；如：ABCABC….依次递推。]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7733843</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7733843</guid><author>aspireone</author><pubDate>Tue, 10 Jul 2012 18:04:43 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
//#define DEBUG 1
#define NUM 3

int n=0;
pthread_mutex_t mylock=PTHREAD_MUTEX_INITIALIZER;//互斥量
pthread_cond_t qready=PTHREAD_COND_INITIALI]]></description><category></category></item><item><title><![CDATA[实现删除嵌套的注释]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7717833</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7717833</guid><author>aspireone</author><pubDate>Thu, 05 Jul 2012 11:17:28 +0800</pubDate><description><![CDATA[实现删除嵌套的注释。每次从键盘上读取三行字符串。若发现存在嵌套的情况，即在注释内又存在的/*或*/，就把这/*或*/删除，注释外的部分保留。/与*优先级是左结合，即当前出现/*/时，优先删除/*。
 
例如：
输入：
/*1234*/
abc/****//****/def
123/**/*****/*******/xxx
输出：
/*1234*/
abc/****//****/d]]></description><category></category></item><item><title><![CDATA[数据结构课程设计——迷宫问题课程设计报告]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7712449</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7712449</guid><author>aspireone</author><pubDate>Tue, 03 Jul 2012 16:42:50 +0800</pubDate><description><![CDATA[上学时没学过数据结构和算法，于是现在有机会就自学。下面是我最近在等待进入项目组期间，花了1小时学习了一下迷宫问题。下面是我学习时找到的一篇课程设计的报告，然后自己先看懂，然后又在VC6.0下运行了。
迷宫问题
一．需求设计：以一个m*m 的方阵表示迷宫，0和1分别表示迷宫中的通路和障碍。设计一个程序，对任意设定的迷宫，求出一条从入口的通道，或得出没有通路的结论。
二．概要设计：
存储结构：]]></description><category></category></item><item><title><![CDATA[STL中map的用法详解]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7698573</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7698573</guid><author>aspireone</author><pubDate>Thu, 28 Jun 2012 10:43:17 +0800</pubDate><description><![CDATA[Map是STL的一个关联容器，它提供一对一（其中第一个可以称为关键字，每个关键字只能在map中出现一次，第二个可能称为该关键字的值）的数据处理能力，由于这个特性，它完成有可能在我们处理一对一数据的时候，在编程上提供快速通道。这里说下map内部数据的组织，map内部自建一颗红黑树(一种非严格意义上的平衡二叉树)，这颗树具有对数据自动排序的功能，所以在map内部所有的数据都是有序的，后边我们会见识到有]]></description><category></category></item><item><title><![CDATA[windbg的使用]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7691969</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7691969</guid><author>aspireone</author><pubDate>Tue, 26 Jun 2012 10:59:01 +0800</pubDate><description><![CDATA[自己打算学习windbg，可是学习的过程中发现需要的资料都很凌乱，于是我就边学习边把自己收集的资料整理了一下，希望对初学者有用。
一 windbg介绍

　　windbg是在windows平台下，强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具，所谓轻量级指的是它的安装文件大小较小，但是其调试功能，却比VS更为强大。它的另外一个用途是可以用来分析du]]></description><category></category></item><item><title><![CDATA[面试题：用栈实现计算器]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7682945</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7682945</guid><author>aspireone</author><pubDate>Thu, 21 Jun 2012 14:45:42 +0800</pubDate><description><![CDATA[四则运算：
现在需要你实现一个能包含加、减、乘、除，能处理括号运算的计算器，请描述你的实现思路，必要时可使用流程图、UML图或者伪代码。
----------------------------------------------------------------
从别处拷来的代码，但是可以运行，我自己也吃透了，所以分享出来。先来点基础知识回顾。
前缀表达式：
前缀表达式就是不含括号的]]></description><category></category></item><item><title><![CDATA[面试题，将we替换为you，将you替换为we]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7682929</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7682929</guid><author>aspireone</author><pubDate>Thu, 21 Jun 2012 14:31:19 +0800</pubDate><description><![CDATA[第一次用vc做面试题，原题如下：
文件评审
Michel需要评审一份文件，但是却有另一件紧急的事情要处理，于是请好友Jack帮忙评审一下。当Michel看到Jack评审结果后，发现一个问题，Jack是以第一人称评审的，现有Michel需要将Jack评审中第一人称（we）和第二人称（you）进行置换（you换成we，we换成you），并要求在句首的单词首字母大写。现在需要请你帮忙完成这个工作。]]></description><category></category></item><item><title><![CDATA[一个进程 fork 多个子进程]]></title><link>https://blog.youkuaiyun.com/aspireone/article/details/7372429</link><guid>https://blog.youkuaiyun.com/aspireone/article/details/7372429</guid><author>aspireone</author><pubDate>Tue, 20 Mar 2012 11:17:01 +0800</pubDate><description><![CDATA[原文地址：http://www.cnblogs.com/junli/archive/2011/07/07/2099725.html

今天要做这么一件事情，一个主进程fork出N个子进程，然后主进程用roundrobin的策略通知各个子进程， 每通知一次，对应子进程就产生一个线程，去做一件事情。为啥要搞这么麻烦呢，主要是为了防止高并发的情况。其实用线程池应该可以搞定的，不过时间比较赶，能力不济]]></description><category></category></item></channel></rss>