自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (2)
  • 收藏
  • 关注

转载 ios_base

// Iostreams base classes -*- C++ -*-// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,// 2006, 2007, 2008, 2009, 2010// Free Software Foundation, Inc.//// This file is part

2013-10-21 15:32:30 1543

原创 根据数组名求数组中元素的个数

Type array[N] ;size_t num = sizeof(array) / sizeof(array[0]) ;

2013-10-04 09:58:26 789

原创 欧几里德算法,扩展的欧几里德算法

1.欧几里德算法:求最大公约数unsigned Gcd(unsigned n , unsigned m){ int max = n > m ? n : m ; int min = n + m - max ; int temp ; while((temp = max % min)) { max = min ; min = temp ; } return min ;

2013-09-20 10:28:27 528

原创 素数判断

1.判断给定的正整数n是否为素数//判断正整数n是否为素数(质数)int isPrimeNum(unsigned n){ if(n <= 1) return -1 ; int i , flag = 1 ; for(i = 2 ; flag && i <= sqrt(n) ; ++i) { if(n % i == 0) flag = 0 ; } if(flag) re

2013-09-19 22:14:00 667

原创 平衡二叉树删除某个节点的方法

确认违规节点的位置             首先我们找到待删除的节点Z,如果节点Z的两个孩子均为空,那么将其父节点中对应指向Z的指针置为空,然后删除节点Z。如果节点Z仅有一个孩子,那么将Z节点的父节点中指向Z的指针指向Z仅有的孩子,然后删除节点Z。如果节点Z有两个非空的子节点,那么找到节点Z的中序后继节点Y(即右子树的最左节点),将节点Y的Key值覆盖节点Z的Key值,此时节点Y的两个孩子均为

2013-09-18 10:29:57 2994

原创 平衡二叉树插入某个节点的方法

确定违规节点的位置             每个节点Z均有一个称之为平衡因子Bf的域,它用来存储(左子树的高度-右子树的高度)所得的值,合法的取值只有-1,0,1三种,一旦出现其他值则表示以节点Z为根的子树不是一颗平衡树,此时需要进行调整。               根据二叉查找树的插入规则找到节点Z应该插入的正确的位置,插入后将节点Z的平衡因子置为0,此时节点Z给它的父节点产生了一个增

2013-09-17 23:18:05 2165 1

原创 红黑树插入某个节点的方法

红黑树节点的插入分为两步:第一步与二叉查找树的插入相同,第二步为调整节点着色。  节点插入  新节点Z的两个孩子指向NIL,将节点z链入树的正确位置,将节点z着色为红。  着色调整  Z节点为根节点                直接将根着色为黑  Z节点不是根节点                因为在插入节点z之前,z的父节点的一个孩子是NIL(黑高为1),所

2013-09-17 12:49:57 843

原创 红黑树删除某个节点的方法

红黑树节点的删除分为两步:第一步与二叉查找树的删除操作相似,第二步为调整节点的着色,使其满足红黑树性质。  节点删除 首先查找待删除的节点z,找到它的位置,此时有如下情况需要考虑:  节点z为根节点,即节点z的父节点为NIL节点  节点z的两个孩子均为NIL节点  节点z的两个孩子中仅有一个孩子为NIL  节点z的两个孩子都不是NIL 下面分

2013-09-17 09:39:43 995

原创 循环节

如果无限小数的小数点后,从某一位起向右进行到某一位止的一节数字循环出现,首尾衔接,称这种小数为循环小数。

2013-09-16 15:04:11 452

转载 auto_ptr解析

原链接地址:点击打开链接auto_ptr是当前C++标准库中提供的一种智能指针,或许相对于boost库提供的一系列眼花缭乱的智能指针, 或许相对于Loki中那个无所不包的智能指针,这个不怎么智能的智能指针难免会黯然失色。诚然,auto_ptr有这样那样的不如人意,以至于程序员必须像使用”裸“指针那样非常小心的使用它才能保证不出错,以至于它甚至无法适用于同是标准库中的那么多的容器和一

2013-09-14 09:32:50 419

原创 va_list , va_start , va_arg , va_end详解

//头文件:stdarg.h cstdarg//用途:用于参数个数不定的函数处理,可用来访问不知名也不知类型的参数列表//函数形式如下:return_type function_name ( parameter_declarations , ... );va_list一般定义为一个指针,类型为char *va_start , va_arg , va_end的定义如下://计算变量

2013-09-13 19:57:15 533

原创 othr.c

#include "../config.h"#include "../ort.h"#include #include #include "ee.h"//创建任务的线程是master,协作执行的是worker#define WORKER_YIELD 50#define MASTER_YIELD 1000//自旋等待宏,f为假时终止循环#define WAIT_WHILE(f, t

2013-09-02 09:31:48 8664

原创 ee.h

#ifndef EE_H#define EE_H#include "../config.h"#include #include #include "../sysdeps.h"//此头文件提供线程库对ort的支持//线程库只会提供两只类型:othr_lock_t和othr_key_t,嵌套锁类型不会在线程库外使用//嵌套锁类型结构体,只在线程库内部使用typedef stru

2013-09-02 09:31:03 714

原创 ort_omp.c

#include "ort_prive.h"#include #include //判断当前位置是否在并行域内,判断的依据是当前的eecb的活跃层次数是否为0int omp_in_parallel(void) { return ( __MYCB->activelevel != 0 ); }//获取当前eecb的组内IDint omp_get_thread_num(voi

2013-09-02 09:29:16 767

原创 ort_pools.c

#include "ort_prive.h"#include #include ort_task_node_t* ort_task_alloc(void* (*func)(void *), void *arg){ if(arg != NULL)//任务函数参数非空,那么就返回此参数所在的任务节点 return *((ort_task_node_t **)PP(arg));

2013-09-02 09:28:24 709

原创 ort_tasks.c

#include "ort_prive.h"#include #include #define FAILURE 0#define NO_TASKS_LEFT -1#define NO_VICTIM_LEFT -1//流量控制模块,开启流量控制时任务立即执行而不放到任务队列中去ee_key_t throttle_key;//开启流量控制#define __start_thr

2013-09-02 09:27:31 819

原创 ort_workstealing.c

#include "ort_prive.h"#include #include #define FAILURE 0#define SUCCESS 1/* Allocate memory for my group task queues */inline void ort_task_queues_init(ort_eecb_t *me, int nthr){ int i;

2013-09-02 09:25:57 610

原创 sysdeps.c

#include "sysdeps.h"#include int ort_get_num_procs(void){//获取系统的处理器内核数目 int np; np = sysconf(_SC_NPROCESSORS_ONLN);//从系统信息中获取内核数目信息 if (np <= 0) {//获取内核数目失败,将内核数目设置为1 extern void ort_w

2013-09-02 09:24:30 723

原创 ort_private.h

#ifndef ORT_PRIVE_H#define ORT_PRIVE_H#include "ort.h"#include "pthreads/ee.h"//定义最大的活跃并行域数目限制#define MAXACTIVEREGIONS 50//定义工作分担类型,工作分担有三中:SINGLE、SECTIONS、FOR#define _OMP_SINGLE 0#define

2013-09-02 09:21:41 841

原创 华中科技大学Ubuntu12.04网络认证

在网络中心下载Linux版客户端,地址为http://nc.hust.edu.cn/首先要设置DNS:使用以下命令打开文件resolv.conf:sudo gedit /etc/resolv.conf在文件中添加一行用来指定DNS:nameserver   dns_ip两者之间使用TAB间隔。按照客户端的使用说明书操作即可,如:chmod +x ./rj

2013-09-01 08:34:55 812

彻底明白平衡二叉树

详细介绍平衡二叉树的插入与删除操作,内含违规节点寻找,平衡调整方法

2013-09-18

彻底明白红黑树

详细介绍了红黑树的插入与删除操作,配图解析

2013-09-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除