自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

转载 liunx下的PCB

进程在操作系统中都有一个户口,用于表示这个进程。这个户口操作系统被称为PCB(进程控制块),在linux中具体实现是 task_struct数据结构,它记录了一下几个类型的信息:1.状态信息,例如这个进程处于可执行状态,休眠,挂起等。2.性质,由于unix有很多变种,进程有自己独特的性质。3.资源,资源的链接比如内存,还有资源的限制和权限等。4.组织,例如按照家族关系建立起来的树(

2016-06-05 16:31:09 255

转载 插入排序

在冒泡排序、选择排序编写代码之后,楼主渐渐找到了coding的信心,熟能生巧,就像写词唱曲之前,都得先背诵大量的诗词,熟悉各路歌曲,才能走出自己的路线,有自己的杰作。好吧,来让楼主继续进行"社会主义初级阶段"的任务,这次是插入排序。一. 算法描述    插入排序:插入即表示将一个新的数据插入到一个有序数组中,并继续保持有序。例如有一个长度为N的无序数组,进行N-1次的插入即能完成排

2016-05-30 15:54:41 292

原创 随笔

时间飞快 马上五月就完了,这个月外出实习,还有课设  自己没有写几篇博客  好是伤心呀!成功都是在一点一滴中取得的,所以亲爱的  从今天开始人认真的开始写吧!每天都要进步一点点哦!还有就是最近感情方面也是非常的不顺利 ,最近一个人心里挺不是滋味的。就是因为一个电脑屏,几百块钱给吵起来的。当爱情给不来我的安全感的时候,金钱是唯一能给我安全感的  ,不管怎样,打起精神 ,学习以后挣钞票。

2016-05-28 19:41:41 222

转载 网络

TCP/IP四层模型和OSI七层模型对应表。我们把OSI七层网络模型和Linux TCP/IP四层概念模型对应,然后将各种网络协议归类。    表1-1  TCP/IP四层模型和OSI七层模型对应表 OSI七层网络模型Linux TCP/IP四层概念模型对应网络协议应用层(Application)应用层

2016-05-09 23:03:54 205

转载 ARP协议工作原理

ARP协议工作原理      ARP这个协议的作用是:当源主机知道目的主机的IP地址而不知道对方的MAC地址的话可以使用ARP这个广播协议来获得对方的MAC地址,获得硬件地址的原因是主机通信是通过MAC地址来实现的。这是以太网中的ARP报文格式。      (1):以太网目的地址:是硬件地址,包含六个字节的地址。例如: 00 1f 3c d1 b6 7d 。      (2):

2016-05-01 21:41:15 2640

转载 深入理解PTTH协议

2016-05-01 21:16:36 821

原创 N的阶乘

#includeusing namespace std;long fac(int);int main(){ int n; long result; cout << "Please input an integer : "; cin >> n; result = fac(n); if (result != -1) cout << n << "!=" << result <

2016-04-22 20:34:03 194

原创 奇怪的电梯

大楼的每一层楼都可以停电梯,每层楼均有一个数字,电梯只有两个按钮,相应的按钮:上和 下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮会失灵。例如,一楼的数字为3,则按“上”可以到4楼,按“下”是不起作用的,因为没有-2楼。#includeusing namespace std;int main(){ int i, n, x, y, l, r; int a[201

2016-04-22 20:10:54 933

原创 删除操作

#includeusing namespace std;#define maxsize 100struct SqList{ int data[maxsize]; int length;};int main(){ SqList L; int n, i, j; cout << "请输入线性表中的元素的个数: " << endl; cin >> n; cout << "

2016-04-22 19:47:55 284

原创 有序插入

设顺序表La中的数据元素递增有序。编写一个程序,将元素n插入到顺序表的适当位置上,以保持表的有序。#includeusing namespace std;#define MAXSIZE 100struct SqList{ int data[MAXSIZE]; int length;};int main(){ int i, n; SqList La = { { 1,

2016-04-22 19:37:52 330

原创 后序遍历序列

编写一个程序,输入一颗二叉树的先序遍历和中序遍历,输出其后序遍历#include#includeusing namespace std;void outPostOrder(string pre, string mid){ int len = pre.length(); if (len == 1) { cout << pre[0]; return; } int ind

2016-04-21 21:23:51 494

原创 最大字段和

给定n个整数(可能为负数组成的序列a[1],a[2],a[3],a[4],,,,,,,,,,a[n],求该序列和的字段和的最大值#includeusing namespace std;int MaxSubSum(int *a, int left, int right);//分治法求最大子段和int main(){ int n, result; cout << "请依次输入序列中元素的个

2016-04-21 20:10:12 532

原创 第一次只出现一次的字符

#includeusing namespace std;int main(){ char str[80]; unsigned int table[256] = { 0 }; cout << "请输入一个长度不超过80的字符串: " << endl; cin.getline(str, 81, '\n'); char *p = str; while (*p != '\0') {

2016-04-20 17:38:38 240

原创 二进制数中1的个数相同

#includeusing namespace std;int main(){ int n, a, b, d, m; do{ cin >> n; } while (n <= 0); a = n; b = 0; while (a) { b += a & 1; a >>= 1; } m = n; do { d = 0; m++; a

2016-04-20 17:20:45 493

原创 格雷码

Gray code  是一种二进制编码,编码顺序与相应的十进制数的大小不一致。其特点是,对于两个相邻的十进制数,对应的两个格雷码只有一个二进制位的不同。另外,最大数与最小数间也仅有一个二进制位的不同#include#includeusing namespace std;int main(){ int m, n,i, bound; int gr[15]; cout << "请输入二进制

2016-04-20 17:10:25 469

原创 乘积中只含1和0

任意给定一个整数N,求一个最小的整数M,使得  N*M的十进制表示形式里只含1和0;#includeusing namespace std;int HasOnlyOneAndZero(int n){ while (n) { if (n % 10 >= 2) return 0; } return 1;}int main(){ int n, m; cin >> n

2016-04-20 16:16:44 441 1

原创 第N个回文数列

将所有的回文数从小到大排列,求第N个回文数列#includeusing namespace std;int isPN(long num){ long src = num; long tmp = 0; while (src != 0) { tmp *= 10; tmp += src % 10; src /= 10; } if (tmp == num) return

2016-04-20 16:09:17 760

原创 埃及分数

分子是1的分数,叫单位分数。古代埃及人在正在进行的分数运算时,只使用分子是1的分数,因此这种分数也叫做埃及分数。算法思路:  1:把b除以a的商加1后的值作为埃及分数的某一个分母c,c=b/a+1;   2:  将a乘以c再减去b,作为新的a,a=a*c-b;  3:将b乘以c,得到新的b,b=b*c;  4:如果a能整除(b%a==0),最后将一个分母b/a,算法结束:否则,

2016-04-20 15:55:12 676

原创 去除多余的元素

#includeusing namespace std;#define maxsize 100struct SqList{ int data[maxsize]; int length;};int main(){ SqList L; int n, i, j, k; cout << "请输入线性表中元素的个数: " << endl; cin >>n; cout <<

2016-04-20 15:07:32 278

原创 找第k大的数

#includeusing namespace std;#define M 1000int FindKth(int a[M], int left, int right, int n){ int tmp, rpos, value, i, j; if (left == right) return left; rpos = rand() % (right - left) + left;

2016-04-19 10:28:26 259

原创 关于扩展Josephus问题

编号为1,2,3   ,,,,n个小孩按顺序顺时针围坐一圈,每个小孩持有一个密码(正整数)。一开始任选一个正整数作为报数上限值M,从第一个小孩开始按顺时针方向自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m的值。从他在顺指针方向上的下一个人开始重新从你报数,如此下去,直到所有的小孩全部出列,最后出列的小孩为获胜者。编写一个程序输入小孩人数n,每一个小孩的初始密码及起始报数上限

2016-04-19 09:34:40 284

原创 可扩展的调整数

#includeusing namespace std;void Adjust(int a[], int n, bool(*func)(int))//调整函数{ int i, j, temp; i = 0; j = n - 1; while (i < j) { while (i < j && func(a[i])) i++; while (j>i && !func(

2016-04-19 09:18:52 209

原创 折半查找法

#includeusing namespace std;int main(){ const int n = 20; int a[] = { 1, 6, 9, 14, 15, 17, 18, 23, 24, 28, 34, 39, 48, 56, 67, 72, 89, 98, 100 }; int x, low, high, mid; cout << "Please input a

2016-04-18 18:36:56 237

原创 过河问题

#includeusing namespace std;int main(){ int n, t[100], i, sum, t1, t2; cout << "请输入需要过河的人数: "; cin >> n; cout << "请按升序排列的顺序依次输入每个人过河的时间: "; for (i = 0; i < n; i++) cin >> t[i]; if (n == 1)

2016-04-18 13:19:54 240

原创 木材加工

#includeusing namespace std;int main(){ int n, k, len[10000], i, left, right, mid, num; cout << "请输入原木的数目N和需要得到的小段的数目K : " << endl; cin >> n >> k; right = 0; cout << "请输入各段原木的长度: " << endl;

2016-04-17 16:47:32 241

原创 页码中的数字

一本书的页码从自然数1开始顺序编码直到自然数n,书中的页码按照通常的习惯编排,每一个页码都有不含多余的前导数字 。例如,第六页用6表示二不是06或006,编写一个程序,对给定的书的总页码,计算出该书的全部页码中分别用到多少次的数字#includeusing namespace std;int main(){int n, i, t;int count[10] = {

2016-04-17 12:21:36 688

原创 百灯判亮

#includeusing namespace std;int main(){ int a[101], child, lamp; for (lamp = 0; lamp <= 100; lamp++) a[lamp] = 0; for (child = 1; child <= 100;child++) for (lamp = child; lamp <= 100; lamp +=

2016-04-17 12:06:28 310

原创 二叉树的建立

#includeusing namespace std;struct BiTNode{ char data; BiTNode* lchild; BiTNode* rchild;};typedef BiTNode * BiTree; BiTNode * CreateBiTNode(char value) { BiTNode*pNode = new BiTNode(

2016-04-15 18:30:55 214

原创 动态规划问题(背包问题)

#include#includeusing namespace std;#define N 50int main(){ int p[N], w[N], m[N][5 * N]; int i, j, c, cw, n, sw, sp; cout << "请输入n值: "; cin >> n; cout << "请输入背包容量: "; cin >> c; cout << "请

2016-04-15 15:26:03 300

原创 租独木舟

一群大学生到东湖边水上公园游玩,在湖边可以租独木舟,各独木舟之间没有区别,一条独木舟最多只能乘坐两个人 ,且乘客的总重量不能超过独木舟的最大承重量。为了减小游玩活动中的花销,需要找出可以安置所有学生的最小的独木舟的条数,编写一个程序,读入独木舟的最大承重量,大学生的人数和每位学生的重量,并计算出安置所有学生必需最小的独木舟。#includeusing namespace std;int mai

2016-04-15 14:43:34 551

原创 大数运算的加法和减法

#includeusing namespace std;const int base = 10000;const int maxlen = 50 + 1;void charTobignum(char *ch, int *bignum){ int len, i, j, p, num; memset(bignum, 0, sizeof(int)*maxlen); len = strl

2016-04-15 12:28:52 294

原创 编写一个进制转换器

#include#include#includeusing namespace std;void BtoD(int B, int &D, int &W)//二转十{ int bit; if (B > 0) { bit = B % 10; D = D + bit*(int)(pow(2, float(W)));//取余,最低位是否是1 B = B / 10; W++

2016-04-15 11:33:58 683

原创 选择排序

#includeusing namespace std;#define M 11void SelectSort(int a[]){ cout << "排序过程: " << endl; int pos;//目前最小的数字的位置 int temp;//temp存最小数字 for (int i = 0; i < M; i++) { pos = i;//最小值位置 temp

2016-04-15 11:01:16 139

原创 插入排序

#includeusing namespace std;#define M 11void InsertSort(int a[]){ cout << "排序过程: " << endl; int temp;//临时变量 int i, j;//循环变量 for (i = 1; i < M; i++) { temp = a[i];//获取比较值 for (j = i; j>

2016-04-15 10:43:43 152

原创 模拟打字软件

#include#include#includeusing namespace std; int gene_rand(int max, int min){ int data;//随机数据 data = min + (int)(max *rand() / (RAND_MAX + min));//生成随机数 return data;}void main(){ char src

2016-04-15 10:21:56 1187

原创 冒泡排序

#includeusing namespace std;int main(){ int a[10],i,j,temp; for(i = 0; i<10;i++) cin>>a[i]; for(i = 0;i<10-1;i++) { for(j = 0;j<10-1-i;j++) if(a[j]>a[j+1]) { temp = a[j]; a[j

2016-04-14 21:04:03 163

原创 验证码(函数实现)

#include#include#includeusing namespace std; void generate_lower(){ char lower; int lower_index; lower_index = 1 + (int)(26.0*rand() / (RAND_MAX + 1.0)); lower = char(lower_index + 96); co

2016-04-14 20:48:39 633

原创 清除多余的空格

#includeusing namespace std; int main(){ char str[80] = "we are student."; cout << str << endl; int index = 0; bool flag = false; for (int i = 0; str[i] != '\0'; i++) { if (str[i] !

2016-04-14 20:18:10 301

原创 最大公约数与最小公倍数

#includeusing namespace std;int MAX_CF(int a, int b){ int temp = 0; while (b != 0) { temp = a%b; a = b; b = temp; } return a;}int MIN_CD(int u, int v, int h){ return (u*v / h);}

2016-04-13 17:35:20 199

原创 图形输出

#includeusing namespace std; void output(int n){ for (int i = 0; i < n; i++) { int temp = i; for (int j = 0; j <= n - (n + 1); j++) cout << " "; while ((temp + 1)>0) { cout << "*

2016-04-13 17:23:11 492

空空如也

空空如也

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

TA关注的人

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