自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言经典面试题---八皇后问题

问题:1848年由一位国际象棋棋手提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,如何求解?思路:使用递归回溯的方法解决,所谓递归回溯,本质上是一种枚举法。这种方法从棋盘的第一行开始尝试摆放第一个皇后,摆放成功后,递归一层,再遵循规则在棋盘第二行来摆放第二个皇后。如果当前位置无法摆放,则向右移动一格再次尝试,如果摆放成功,则继续递归一...

2018-03-13 17:35:50 357

原创 直接插入排序

代码思路:在一组数中从第二位数和前面的第一位数比较,若1 >2则交换数据值,否则不变,依次继续,第n为数就和前面n - 1位数逐个比较大小,最终组成一组从小到大的有序数。 代码: 方法一:int insertionSort(int a[],int len){ int i,j,k,num,temp; for(i = 2;i < len;i++){ a[0] = a[

2017-11-08 17:21:48 182

原创 数据排序:冒泡排序

代码思路:将相邻的两个数进行比较,小的放前大的放后,先比较第一个数和第二个数,若第一个数大就调换这两数的顺序,若第二个数大以后就拿第二个数和第三个数比较,依次继续,直到排序完成。 代码:#include<stdio.h>#include<stdlib.h>//从小到大排序int bubbleSort(int a[],int len){ int i,j,k,temp,l; for

2017-11-08 14:32:35 314

原创 数据查找---分块查找法

代码思路:在一组有序数中找某一组数,先将这组数分为几块,然后在每一块中列出最大值,将要查找的数和每一块的最大值进行比较,若此数小于某一块中的最大值那么要要找的数就在这一块中。 代码://key为块中最大数,a[]为数据源,len为数据源长度,que为查找数据所分每个块的数据量,value为要查找的数int findValue(int a[],int len,int value){ stru

2017-11-07 17:18:58 994

原创 数据查找算法---顺序查找、二分法查找、二叉树查找、hash查找

两个概念: 时间复杂度:与时间频度T(n)有关,时间频度就是一个算法中语句执行的次数,时间复杂度就是算法中语句执行次数函数(辅助函数f(n))的函数,T(n)=O(f(n))。时间频度不同,时间复杂度可能相同。 空间复杂度:就是一个算法运行所需的内存空间。1.顺序查找 代码思路:我们并不知道要查找的数据在哪个位置,所以只能遍历这组n个数据,最少需要一次就可以查找成功,最多需要n次,平均下来需要

2017-10-25 16:50:12 752

原创 整数字符串转换

将字符串‘12345’转换为整数12345;或将整数12345转换为字符串‘12345’。 代码思路:1.取出每一个字符,通过字符串与整数之间的关系进行转换 //字符串转换为整数intToNum(char * str){ int num = 0; char *istr = str; while(*str != '\0'){ if(*str < '0' ||

2017-10-19 17:55:43 556

原创 数组排序:给定一个数组,将数组中的元素从小到大排序

代码思路:1.从数组中首元素开始和其他元素逐个比较,若其中一个元素比其小(或大),就交换首元素与其位置。 代码:#include<stdio.h>int sortArray(int *array,int account){int temp;for(int i = 0;i < account;i++){for(int j = i + 1;j < account;j++){if(array[

2017-10-19 14:06:46 50161 3

原创 数据分割算法:输入一个数计算出其位数,并打印出每一位的数

代码块代码思路: 计算位数:将输入的数num用10来整除,计算次数 分割位数: 个位 = num % 10; 百位 = num / 10 % 10; 代码:includeint getWeiData(int num){ int wei; while(num /= 10){ wei++; } return wei;}/*分离输入数的各个位并

2017-10-18 14:58:14 1642

空空如也

空空如也

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

TA关注的人

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