- 博客(13)
- 资源 (15)
- 收藏
- 关注
原创 插入排序
void InsertSort(int *a, int len) { int i=0; for(i = 1; i < len ; i++) { int j = 0; int key = a[i]; for(j = i - 1 ; j >= 0 ; j--) { if(a[j] < key) break; a[j+1] = a[j]; }
2014-05-25 14:36:53 359
原创 冒泡排序
void BubbleSort(int *a, int len){ int i = 0; for(i = 0; i < len - 1; i++) { int j = 0; for( j = 0; j < len - i - 1; j++) { if(a[j] > a[j+1]) { int tem = a[j]; a[j] = a[j+1];
2014-05-25 14:35:47 352
原创 选择排序
void SelectSort(int *a, int len){ int i = 0; for( i = 0; i < len - 1; i++) { int j = 0; int min = i; for(j = i + 1; j < len; j++ ) { if( a[min] > a[j] ) min = j; } int tem =
2014-05-25 14:35:09 349
原创 TLS 线程局部存储
TLS(Thread Local Storage) 线程局部存储 所有的线程都共享着进程的虚拟地址~ 局部变量为每个线程所独立共享的,静态变量和全局变量是进程中所有线程一起共享的~ TLS可以为线程提供一个唯一的数据用一个全局的索引~每个线程 有自己的副本~各个线程互不影响~其实所保存的数据就是线程关联的~先看个图:如图可见每个线程有自己独立的TLS表格,相当于一个数组
2014-05-21 00:09:42 748
原创 公共子串
#include #include using namespace std;void SearchMax(const char *strA, int lenA,const char *strB, int lenB){ int i = 1; int j = 1; int sign[50][50] = {{0,0}}; for(; i < lenA; i++) { for(j
2014-05-18 20:27:55 372
原创 匿名管道 获取控制台输出
#include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ SECURITY_ATTRIBUTES saPipe; saPipe.nLength = sizeof(SECURITY_ATTRIBUTES); saPipe.lpSecurityDescriptor = NUL
2014-05-17 19:11:40 2006
原创 单链表的反转
void InitList(Node *pHead){ Node* pList = pHead; int i = 0; for(; i < 10; i++) { Node *pNode = new Node; pNode->data = i; pNode->next = NULL; pList->next = pNode; pList = pNode; } }
2014-05-17 12:14:26 406
原创 全排列
void Range(int *a, int len,int s){ int i = 0; if(s == len-1) { Print(a,len); return; } for(i = s; i < len; i++) { Swap(&a[s],&a[i]); Range(a,len,s+1); Swap(&a[i],&a[s]); }}
2014-05-15 23:15:59 397
原创 堆排序
void AdjustHeap(int *a, int len, int i){ int left = i * 2 + 1; int right = i * 2 + 2; if( left >= len ) return; int largest; if(left a[i]) largest = left; if(right a[largest
2014-05-15 23:04:54 380
原创 快速排序
void Swap(int *l, int *r){ int tem = *l; *l = *r; *r = tem;}int Partition(int *a, int s, int e) { int key = a[e]; int i = s ; int j; for(j = s ; j < e; j++) { if( key < a[j]) Swap(
2014-05-10 22:31:32 436
原创 合并排序
void Merge(int *a, int s, int m, int e){ int lLen = m - s + 1; int rLen = e - m; int *l = new int[lLen]; int *r = new int[rLen]; int i = 0; for(i; i < lLen; i++) l[i] = a[s+i]; for(i = 0; i
2014-05-10 22:09:21 473
c c++ 编译器 (源代码)
2011-03-06
java 编译器 (源代码)
2011-03-06
CSDN论坛-算法精华
2011-02-27
界面超级漂亮的透明记事本 GlassNotes Aero v3
2010-05-06
硬盘分区魔术师9.0简体中文版
2010-04-21
24点游戏 (c/c++)
2010-04-01
栈 计算器(c++源码)
2010-04-01
C/C++ 常见误区
2010-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人