自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hackbuteer1的专栏

走别人没走过的路,让别人有路可走。

  • 博客(30)
  • 资源 (1)
  • 收藏
  • 关注

原创 vi常用命令集锦

歌曲管理系统---实现读、写文件中的歌曲信息、浏览、排序、查找、删除歌曲等功能。#include "stdio.h"#include "stdlib.h"#include "malloc.h"#include "string.h"int i=0;struct song /*结构体数组*/{ char writer[20]; char singer[20];

2011-06-29 16:19:00 3605

原创 qsort函数简介

功 能: 使用快速排序例程进行排序   用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));   参数:1、待排序数组首地址; 2、数组中待排序元素数量; 3、各元素的占用空间大小; 4、指向函数的指针,用于确定排序的顺序一、比如:对一个长为1000的数组进行

2011-06-29 15:16:00 4089

原创 随机生成100万个数,排序后保存在文件中

随机生成100万个数,存储在文件out1.txt中,使用内部排序完成,并重新储存在文件out2.txt中。(一)使用STL中的qsort函数进行操作:#include "stdio.h"#include "string.h"#include "stdlib.h"#include "time.h"int a[1000000];void load(char filename

2011-06-29 14:48:00 9529 2

原创 学生信息管理系统

    1、 设计一个学生信息管理系统,链表中每一结点包括:学号、姓名、年龄、性别、出生年月、地址、电话、电子邮件。程序能实现以下功能:     从文件中加载信息     从键盘输入信息     显示学生的信息     修改学生的信息     查找链表中是否存在某个元素,并显示这个元素的所有信息,若没有这个元素则显示“无此记录!”的信息。     删除链表中指定学号的结点。     添加学

2011-06-28 20:07:00 4464

原创 C语言通讯录管理系统

实现了通讯录的录入信息、保存信息、插入、删除、排序、查找、单个显示等功能。。完整的代码如下:#include #include //得到指向大小为Size的内存区域的首字节的指针//#include #include //标准库函数// #define NULL 0#define LEN sizeof(struct txlproject) //计算字节//

2011-06-28 19:56:00 25137 6

原创 Qt中moc问题(qt moc 处理 cpp)

Qt编译常见的错误:编译报错:1>Linking...1>cmmwindow.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall cmmwindow::metaObject(void)const " (?metaObject@cmmw

2011-06-28 18:21:00 19217 1

原创 关于Linux的修复(重新引导)

使用Qt开发界面的时候,发现经常出现一些中文乱码,后来在网上查了很多资料了,终于解决了。     主要有两种解决方法:     方法一:     将这行代码:     label.setText(QObject::tr("同一个世界,同一个梦想!"));     修改为:     label.setText(QString::fromUtf8("同一个世界,同一个

2011-06-28 18:16:00 6704

原创 C语言课程设计---歌厅歌曲管理系统

系统功能:该系统以菜单方式工作,歌曲信息包括:歌名、演唱者、作词、作曲、所属专辑、出版时间、出版公司。试设计一歌厅歌曲管理系统,使之能提供以下功能:歌曲信息录入、修改、插入、删除功能;歌曲排序浏览功能;按歌名查询、按演唱者查询等功能。完整的实现代码如下:#include "stdio.h"#include "stdlib.h"#include "string.h"//歌曲信息包

2011-06-28 13:41:00 6919 3

原创 数据结构课程设计---教学任务安排系统

教学任务安排系统:#include "stdlib.h"#include "stdio.h"#define MAX 100 typedef struct{ int s[MAX][MAX];//用二维数组存放教师专业特长 int D[MAX]; //用一维数组存放安排的教学任务 }MGraph;MGraph G;int crea

2011-06-27 13:58:00 5207 3

原创 XP或Win7系统下grub4dos安装双系统ubuntu(32或64)

编写自定义函数:建立一个带有头结点head的有20个结点的链表,20个结点所需数值由随机数产生。编写自定义函数:建立两个链表,把存有数据的链表中的偶数存入一个链表,奇数存入另一个链表中。编写主函数调用上述两个函数并可输出三个链表中的数据。完整的代码如下:#include "iostream"using namespace std;#include "time.h"struct

2011-06-27 12:22:00 4735

原创 用指向指针方法对N个字符串进行排序并输出

C语言版本的:#include "stdio.h"#include "stdlib.h"#include "string.h"void sort(char *str[],int size){ int i,j; char *temp; for(i=0;i<size-1;i++) { for(j=i+1;j<size;j++) { if(st

2011-06-27 10:18:00 10780

原创 快速排序、希尔排序、插入排序、选择排序、归并排序、堆排序总结

一、快速排序的基本思想     设当前待排序的无序区为R[low..high],利用分治法可将快速排序的基本思想描述为:①分解:      在R[low..high]中任选一个记录作为基准(Pivot),以此基准将当前无序区划分为左、右两个较小的子区间R[low..pivotpos-1)和R[pivotpos+1..high],并使左边子区间中所有记录的关键字均小于等于基准记录(不妨记

2011-06-26 19:32:00 19261 3

原创 数据结构课程设计---学生信息管理系统

1、 建立一个动态链表,链表中每一结点包括:学号、姓名、性别、年龄、成绩。程序能实现以下功能:     建立链表     显示链表     查找链表中是否存在某个元素,并显示这个元素的所有信息,若没有这个元素则显示“无此记录!”的信息。     删除链表中指定学号的结点。     在链表中指定的位置插入一个新结点(学号不能和其他结点重复)。要求:程序运行中,先显示实现以上功能所构成的菜单,然后根据

2011-06-26 19:08:00 13932 6

原创 c++友元函数与友元类

     友元函数和友元类的需要:  类具有封装和信息隐藏的特性。只有类的成员函数才能访问类的私有成员,程序中的其他函数是无法访问私有成员的。非成员函数可以访问类中的公有成员,但是如果将数据成员都定义为公有的,这又破坏了隐藏的特性。另外,应该看到在某些情况下,特别是在对某些成员函数多次调用时,由于参数传递,类型检查和安全性检查等都需要时间开销,而影响程序的运行效率。  为了解决上述问题,提出一种使

2011-06-26 11:28:00 4922

原创 数据结构课程设计---最长公共子串

数据结构课程设计,由用户输入两个字符串串X和Y,再由用户输入一个任意的字符串Z,实现以下功能:①如果字符串Z是字符串X的子串,则显示Z在X中的位置并记录,如果字符串Z是字符串Y的子串,则显示Z在Y中的位置并记录,如果Z既不是X的子串也不是Y的子串,则显示不匹配。②找出X和Y的一个最长公共子串。③置换: 用户输入任意的字符串去置换X和Y中的子串Z。 思想:首先使用Kmp算法进行匹配,

2011-06-25 15:06:00 4708

原创 对用户数据进行简单的管理用,C++实现几个字符串的字典序排序

编写程序对用户数据进行简单的管理,要求按姓名的字典序对用户信息进行排序。试定义表示用户信息的类person和处理用户信息的类compute实现上述功能。具体要求如下:(1)定义类person,其成员如下:(a)私有成员。char name[10], num[10]:分别保存用户的姓名和电话号码。(2)定义类compute,类compute必须声明为类person的友元类,其成员如下:(a)私有成员

2011-06-25 14:20:00 5630

原创 数据结构课程设计----基数排序

一、基数排序的基本思想:排序过程无须比较关键字,而是通过“分配”和“收集”过程来实现排序。它们的时间复杂度可达到线性阶:O(n)。二、最高位优先(Most Significant Digit first)法,简称MSD法:先按k1排序分组,同一组中记录,关键码k1相等,再对各组按k2排序分成子组,之后,对后面的关键码继续这样的排序分组,直到按最次位关键码kd对各子组排序后。再将各组连接起来,便

2011-06-25 14:15:00 3443

原创 判断给定的二叉树是否为二叉排序树

思路:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;它的左、右子树也分别为二叉排序树。递归遍历就可以了,反正就是左孩子的key比根节点的key小,右孩子的key比根节点的key大,一旦有不满足条件的就判定不是。完整的代码如下:#include "stdio.h"#include "stdlib.h"t

2011-06-22 19:10:00 25579 15

原创 普里姆(Prim)求最小生成树

一、普里姆(Prim)算法  1.基本思想:设G=(V, E)是具有n个顶点的连通网,T=(U, TE)是G的最小生成树, T的初始状态为U={u0}(u0∈V),TE={},重复执行下述操作:在所有u∈U,v∈V-U的边中找一条代价最小的边(u, v)并入集合TE,同时v并入U,直至U=V。即:     (1)从连通网络 G = { V, E }中的某一顶点 u0 出发,选择与它关联的具

2011-06-22 16:06:00 4584

原创 克鲁斯卡尔(Kruskal)算法求最小生成树

1、基本思想:设无向连通网为G=(V, E),令G的最小生成树为T=(U, TE),其初态为U=V,TE={ },然后,按照边的权值由小到大的顺序,考察G的边集E中的各条边。若被考察的边的两个顶点属于T的两个不同的连通分量,则将此边作为最小生成树的边加入到T中,同时把两个连通分量连接为一个连通分量;若被考察边的两个顶点属于同一个连通分量,则舍去此边,以免造成回路,如此下去,当T中的连通分量个数为1

2011-06-22 15:41:00 45619 6

原创 一道关于宏的面试题及解答

题目:#includeusing namespace std;#define SQR(X) X*Xint main(void){ int a = 10; int k = 2; int m = 1; a /= SQR(k+m)/SQR(k+m); printf("%d\n",a); return 0;}这道题目的结果是什么啊?     【解答】典

2011-06-17 11:21:00 3491 2

原创 c语言面试精华版

1、下面的代码输出的结果是什么,并简单分析结果。#include //无符号数与有符号数相加int main(int argc, char **argv){ unsigned int a = 6; int b = -12; if(a+b > 0) { printf("dsds\n"); printf("a+b=%d\n" , a+b); printf("a+

2011-06-17 11:18:00 6718 1

原创 程序员面试智力题集锦

1、假设你站在镜子前,抬起左手,抬起右手,看看镜中的自己。当你抬起左手时,镜中的自己抬起的似乎是右手。可是当你仰头时,镜中的自己也在仰头,而不是低头。为什么镜子中的影像似乎颠倒了左右,却没有颠倒上下?答:上下和左右的定义不同,上下是面对称的,左右是旋转对称的 (如果两只眼睛是长成一上一下就好了)2、有50家人家,每家一条狗。有一天警察通知,50条狗当中有病狗,行为和正常狗不一样。每人只

2011-06-17 11:11:00 9895

原创 用C++设计一个不能被继承的类

在C#中定义了关键字sealed,被sealed修饰的类不能被继承。在Java中同样也有关键字final表示一个类型不能被继承。在C++中没有类似于sealed和final的关键字,所以我们只有自己来实现。      很多人都能够想到,类的构造函数和析构函数是关键。因为子类的构造函数会自动调用父类的构造函数。子类的析构函数也会自动调用父类的析构函数。所以要想使一个类不能被继承,只有把它的构造函

2011-06-17 11:05:00 4245 3

原创 const_cast的应用

对于const变量,我们不能修改它的值,这是这个限定符最直接的表现。但是我们就是想违背它的限定希望修改其内容怎么办呢?于是我们可以使用const_cast转换符是用来移除变量的const限定符。      const_cast类型转换能够剥离一个对象的const属性,也就是说允许你对常量进行修改。#includeusing namespace std;/*用法:const_cast

2011-06-17 11:01:00 8862 6

原创 构造函数的初始化列表

首先,运行下图中的C++代码,输出是什么?class A{private: int n1; int n2;public: A(): n2(0) , n1(n2 + 2) { } void Print() { cout<<"n1:"<<n1<<",n2:"<<n2<<endl; }};int main(void){ A a; a.Print(); retur

2011-06-15 12:51:00 4906 1

原创 拷贝构造函数的参数类型必须是引用

在C++中, 构造函数,拷贝构造函数,析构函数和赋值函数(赋值运算符重载)是最基本不过的需要掌握的知识。 但是如果我问你“拷贝构造函数的参数为什么必须使用引用类型?”这个问题, 你会怎么回答? 或许你会回答为了减少一次内存拷贝? 很惭愧的是,我的第一感觉也是这么回答。不过还好,我思索一下以后,发现这个答案是不对的。原因:       如果拷贝构造函数中的参数不是一个引用,即形如CClass

2011-06-15 12:47:00 32127 18

原创 数据结构程设计-------哈弗曼编码

#include "iostream"using namespace std;#define MAX 21typedef struct{ char data; int weight; int parent; int left; int right;}huffnode;typedef struct{ char cd[MAX]; int st

2011-06-12 16:34:00 3512

原创 任意长度的两个大数的乘法

方法(一):关于大数乘法,可以使用数组来模拟小学三年级的乘法竖式计算过程,代码如下:#include "iostream"#include "string"using namespace std;int main(void){ char str1[1000],str2[1000]; int i,j,len1,len2,len; bool flag=false;

2011-06-08 18:41:00 12560 1

原创 互换两个变量,不使用中间变量

第一种方法:a=a+b;b=a-b;a=a-b; 代码如下: #include "stdio.h"int main(void){ int a,b; printf("请输入两个变量a和b:/n"); scanf("%d %d",&a,&b); printf("a和b交换前:/n"); printf("a=%d b=%d/n",a,b); a=a

2011-06-08 14:54:00 7658 4

快速筛选素数

快速筛选出10亿以内的素数和非素数

2012-04-06

空空如也

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

TA关注的人

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