- 博客(37)
- 收藏
- 关注
原创 HashTable—闭散列与开链法
哈希表,又称散列表,是搜索方法之一,其特点为根据关键字(key)直接访问在内存中的位置直接定址法 举一个例子,现在有如下一组字符char* arr[]={"hashtable"};接着定义一个大小为256的数组Hash,由于是字符型char,这些字符一定可以在这个数组中找到一个对应的位置进行插入;我们将这个表就成为哈希表,搜索时直接根据将自身作为下标便能搜索到所存位置; 而根据key又有两种方法
2017-02-20 22:04:07
2358
原创 map与set的基本应用
map与set的使用与原理 set 一种底层为二叉搜索树中红黑树的C++标准容器,其模板参数有三个: T(存储在容器中的关键词的数据类型)、Compare((提供比较元素的函数决定元素在容器中的相对位置)、Alloc(存储管理设备)。 成员变量 成员函数 这里对set的部分函数功能进行测试说明 首先,进行基本的 添加数据、迭代器的建立与使用。#include<iostream>us
2017-02-16 12:45:41
518
原创 字符类->浅拷贝与深拷贝
首先就深浅拷贝的问题做一个解释;所谓浅拷贝,也称位拷贝,就是在类中拷贝构造函数以及赋值运算符重载时。通过直接将指针的值拷贝,与原对象共用一个空间; 而深拷贝,在以所述的两种函数中重新申请一块空间存放新的对象;系统自动生成的拷贝构造即为浅拷贝;代码如下:class String{public: String(const char* pStr = "") { if
2016-10-16 12:40:04
358
原创 如何使用qsort进行排序,用bubble_sort实现各类型排序
qsort 在 stdlib.h这个头文件中是这么定义的:>void qsort(void * _Base, size_t _NumOfElements, size_t _SizeOfElements, int(* _PtFuncCompare)(const void *, const void *))解读这个函数的各个参数,void*_Base 为一个指针,即为所需排序的头指针;第一个size_
2016-08-03 12:21:01
924
原创 将一个整型数组奇偶排列
调整数组使奇数全部位于偶数前面#define _CRT_SECURE_NO_WARNINGS 1#include#include#includevoid change(int arr[], int sz){ int *start = arr; int *end = arr + sz - 1; while (start < end) { while (*(start) %
2016-07-29 15:06:14
1061
原创 非递归的fib与找出无重复的两个数
#define _CRT_SECURE_NO_WARNINGS 1#include#includeint fib(int n){int num1 = 0;int num2 = 1;int num3 = n;for (int i = 2; i {num3 = num1 + num2;num1 = num2;num2 = num3;}re
2016-07-26 15:20:30
350
原创 字符串旋转及判断是否为旋转后的字符
//实现一个函数,可以左旋字符串中的k个字符。AABCD左旋一个字符得到ABCDAAABCD左旋两个字符得到BCDAA//#define _CRT_SECURE_NO_WARNINGS 1#include#include#includechar* left_turn(char* arr, int len,int k){int right =
2016-07-25 12:03:49
462
原创 strstr函数与翻转字符串
//模拟实现strstr函数//#define _CRT_SECURE_NO_WARNINGS 1#include #include#include#includeconst char *my_strstr(const char *str, const char *dest){assert(*str != 0);assert(*dest !=
2016-07-25 11:38:36
414
原创 预编译与宏
//预处理标识符:__LINE____FILE____DATE____TIMRE__//#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){int i = 0;for (i = 0; i {printf("%s ,%d ,%s\n", __FILE__, __
2016-07-22 12:45:21
503
原创 my_strcpy与my_strlen
#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#includechar* my_strcpy(char* dest, const char *scr){char *ret = dest;assert(dest != NULL);assert(scr != NULL);while (*
2016-07-19 16:48:25
377
原创 三子棋
#define _CRT_SECURE_NO_WARNINGS 1#include#include#includechar chess[3][3] = { 0 };int size = 9;int winer() //判断胜利者{int i = 0;for (i = 0; i {if (chess[i][0] == che
2016-07-18 14:35:18
420
原创 函数练习
//两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? //#define _CRT_SECURE_NO_WARNINGS 1#include#includeint str_cmp(int num1, int num2){int bit1[32] = { 0 };int bit2[32] = { 0 };int i = 0;int
2016-07-17 15:05:05
257
原创 推理问题
5位运动员参加了10米台跳水比赛,有人让他们预测比赛结果A选手说:B第一,我第三。B选手说:我第二,E第四。C选手说:我第一,D第二。D选手说:C最后,我第三。E选手说:我第四,A第一。比赛结束后,每位选手都说对了一半,请编程确定比赛的名次。
2016-07-08 10:30:50
325
原创 猜数字游戏 + 二分法查找 + 杨辉三角形
//猜数字//#define _CRT_SECURE_NO_WARNINGS 1#include#include#includevoid rule(){printf("系统会在1至100中随机选择一个数字,玩家可以按照要求猜这个数字,猜对为止,祝您游戏愉快\n");}void menu(){printf("进行游戏请选1. 查
2016-07-01 11:17:52
1722
原创 交换+输出最大值+输出二进制1的个数
1.交换两个数字#include#includeint my_swap(int *a,int *b){ int flog; flog=*b; *b=*a; *a=flog; return(*a,*b);}int main(){ int num1=0; int num2=0; printf("请输入要交换的数字\n"); scanf("%d %d",&num1,&
2016-07-01 10:36:58
365
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人