<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[shutingzao的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/shutingzao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; shutingzao]]></copyright><item><title><![CDATA[C语言经典面试题---八皇后问题]]></title><link>https://blog.youkuaiyun.com/shutingzao/article/details/79540039</link><guid>https://blog.youkuaiyun.com/shutingzao/article/details/79540039</guid><author>shutingzao</author><pubDate>Tue, 13 Mar 2018 17:35:50 +0800</pubDate><description><![CDATA[问题：1848年由一位国际象棋棋手提出：在8×8格的国际象棋上摆放八个皇后，使其不能互相攻击，即任意两个皇后都不能处于同一行、同一列或同一斜线上，如何求解？思路：使用递归回溯的方法解决，所谓递归回溯，本质上是一种枚举法。这种方法从棋盘的第一行开始尝试摆放第一个皇后，摆放成功后，递归一层，再遵循规则在棋盘第二行来摆放第二个皇后。如果当前位置无法摆放，则向右移动一格再次尝试，如果摆放成功，则继续递归一...]]></description><category></category></item><item><title><![CDATA[直接插入排序]]></title><link>https://blog.youkuaiyun.com/shutingzao/article/details/78481075</link><guid>https://blog.youkuaiyun.com/shutingzao/article/details/78481075</guid><author>shutingzao</author><pubDate>Wed, 08 Nov 2017 17:21:48 +0800</pubDate><description><![CDATA[代码思路：在一组数中从第二位数和前面的第一位数比较，若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[]]></description><category></category></item><item><title><![CDATA[数据排序：冒泡排序]]></title><link>https://blog.youkuaiyun.com/shutingzao/article/details/78478490</link><guid>https://blog.youkuaiyun.com/shutingzao/article/details/78478490</guid><author>shutingzao</author><pubDate>Wed, 08 Nov 2017 14:32:35 +0800</pubDate><description><![CDATA[代码思路:将相邻的两个数进行比较，小的放前大的放后，先比较第一个数和第二个数，若第一个数大就调换这两数的顺序，若第二个数大以后就拿第二个数和第三个数比较，依次继续，直到排序完成。 
代码：#include<stdio.h>
#include<stdlib.h>//从小到大排序
int bubbleSort(int a[],int len){
    int i,j,k,temp,l;
    for]]></description><category></category></item><item><title><![CDATA[数据查找---分块查找法]]></title><link>https://blog.youkuaiyun.com/shutingzao/article/details/78470084</link><guid>https://blog.youkuaiyun.com/shutingzao/article/details/78470084</guid><author>shutingzao</author><pubDate>Tue, 07 Nov 2017 17:18:58 +0800</pubDate><description><![CDATA[代码思路：在一组有序数中找某一组数，先将这组数分为几块，然后在每一块中列出最大值，将要查找的数和每一块的最大值进行比较，若此数小于某一块中的最大值那么要要找的数就在这一块中。 
代码：//key为块中最大数，a[]为数据源，len为数据源长度，que为查找数据所分每个块的数据量,value为要查找的数
int findValue(int a[],int len,int value){    stru]]></description><category></category></item><item><title><![CDATA[数据查找算法---顺序查找、二分法查找、二叉树查找、hash查找]]></title><link>https://blog.youkuaiyun.com/shutingzao/article/details/78343371</link><guid>https://blog.youkuaiyun.com/shutingzao/article/details/78343371</guid><author>shutingzao</author><pubDate>Wed, 25 Oct 2017 16:50:12 +0800</pubDate><description><![CDATA[两个概念： 
时间复杂度：与时间频度T(n)有关，时间频度就是一个算法中语句执行的次数，时间复杂度就是算法中语句执行次数函数（辅助函数f(n)）的函数，T(n)=O(f（n）)。时间频度不同，时间复杂度可能相同。 
空间复杂度：就是一个算法运行所需的内存空间。
1.顺序查找 
代码思路：我们并不知道要查找的数据在哪个位置，所以只能遍历这组n个数据，最少需要一次就可以查找成功，最多需要n次，平均下来需要]]></description><category></category></item><item><title><![CDATA[整数字符串转换]]></title><link>https://blog.youkuaiyun.com/shutingzao/article/details/78287710</link><guid>https://blog.youkuaiyun.com/shutingzao/article/details/78287710</guid><author>shutingzao</author><pubDate>Thu, 19 Oct 2017 17:55:43 +0800</pubDate><description><![CDATA[将字符串‘12345’转换为整数12345；或将整数12345转换为字符串‘12345’。 
代码思路：1.取出每一个字符，通过字符串与整数之间的关系进行转换 
//字符串转换为整数intToNum(char * str){
    int num = 0;
    char *istr = str;
    while(*str != '\0'){
        if(*str < '0' ||]]></description><category></category></item><item><title><![CDATA[数组排序：给定一个数组，将数组中的元素从小到大排序]]></title><link>https://blog.youkuaiyun.com/shutingzao/article/details/78284112</link><guid>https://blog.youkuaiyun.com/shutingzao/article/details/78284112</guid><author>shutingzao</author><pubDate>Thu, 19 Oct 2017 14:06:46 +0800</pubDate><description><![CDATA[代码思路：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[]]></description><category></category></item><item><title><![CDATA[数据分割算法：输入一个数计算出其位数，并打印出每一位的数]]></title><link>https://blog.youkuaiyun.com/shutingzao/article/details/78272889</link><guid>https://blog.youkuaiyun.com/shutingzao/article/details/78272889</guid><author>shutingzao</author><pubDate>Wed, 18 Oct 2017 14:58:14 +0800</pubDate><description><![CDATA[代码块代码思路： 
计算位数：将输入的数num用10来整除，计算次数 
分割位数： 
个位 = num % 10； 
百位 = num / 10 % 10; 
代码：includeint getWeiData(int num){
    int wei;
    while(num /= 10){
        wei++;
    }
    return wei;
}
/*分离输入数的各个位并]]></description><category></category></item></channel></rss>