<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gdgui_1014的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/gdgui_1014</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; gdgui_1014]]></copyright><item><title><![CDATA[快速排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/77092704</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/77092704</guid><author>gdgui_1014</author><pubDate>Fri, 11 Aug 2017 11:04:28 +0800</pubDate><description><![CDATA[快速排序对数组元素进行分区操作，在数组元素中选择一个作为基准值，将其他元素一一和其比较，比基准值小的放在基准值左边，比基准值大的放在基准值右边，再对基准值两边进行分区操作，分别选一个新的基准值进行比较，直到不能再分区。
快速排序是不稳定的排序
以下为代码演示
#include 

void Swap(int *a,int i,int j)
{
	int tmp = a[i];
	a[i] =]]></description><category></category></item><item><title><![CDATA[归并排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/77088606</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/77088606</guid><author>gdgui_1014</author><pubDate>Fri, 11 Aug 2017 10:02:32 +0800</pubDate><description><![CDATA[归并排序是将数组元素分成左右两个部分，对两边分别进行归并排序：把分开后的两部分再各自分成两部分，进行归并排序.....分到不能再分为止
以下为代码演示
#include 

void printA(int *a,int len)
{
	int i;
	for(i = 0; i < len; i++)
	{
		printf("%4d",a[i]);
	}
	printf("\n");
}

/]]></description><category></category></item><item><title><![CDATA[堆排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/77084490</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/77084490</guid><author>gdgui_1014</author><pubDate>Fri, 11 Aug 2017 09:43:09 +0800</pubDate><description><![CDATA[堆排序利用二叉树模型，把要排序的元素建成一个类似完全二叉树的样子，将每三个元素中最大的元素调整至这三个结点中根结点的位置，调整后最大元素位于整个树的根结点位置。将根结点的元素与最后一个元素交换，则最大数沉底，将树的长度减一，调整结点位置，重复操作，最后得到排好序的数组。
堆排序是不稳定排序。
以下为代码演示
void Swap(int *a, int i, int j)
{
	int tmp]]></description><category></category></item><item><title><![CDATA[插入排序高效改进之希尔排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/77056878</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/77056878</guid><author>gdgui_1014</author><pubDate>Thu, 10 Aug 2017 16:32:18 +0800</pubDate><description><![CDATA[希尔排序，也叫递减增量排序，是插入排序的一种更高效的改进版本，是不稳定的排序算法。]]></description><category></category></item><item><title><![CDATA[插入排序改进之二分插入排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/77050774</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/77050774</guid><author>gdgui_1014</author><pubDate>Thu, 10 Aug 2017 14:45:25 +0800</pubDate><description><![CDATA[二分插入排序在二分排序基础上进行改进，将抓到的牌与之前抓到的已排好序的牌的中间一张进行比较，缩小比较范围，减少比较次数
将数组 a[10] = {7,2,9,4,1,3,8,6,5,0} 从小到大排序并打印结果
打印函数
void printA(int *a,int len)
{
	int i;
	for(i = 0; i < len; i++)
	{
		printf("%4d",a[i]]]></description><category></category></item><item><title><![CDATA[插入排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/77044087</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/77044087</guid><author>gdgui_1014</author><pubDate>Thu, 10 Aug 2017 11:25:56 +0800</pubDate><description><![CDATA[将数组 a[10] = {7,2,9,4,1,3,8,6,5,0} 从小到大排序并打印结果
插入排序类似抓牌，每抓一张牌与前面抓的对比，从右往左，找到第一个比抓到的牌小的的位置，将后面的元素位置依次后移一位，将新元素插入

#include 

void printA(int *a,int len)
{
	int i;
	for(i = 0; i < len; i++)
	{
		print]]></description><category></category></item><item><title><![CDATA[选择排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/77036935</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/77036935</guid><author>gdgui_1014</author><pubDate>Thu, 10 Aug 2017 10:38:25 +0800</pubDate><description><![CDATA[将数组 a[10] = {7,2,9,4,1,3,8,6,5,0}从小到大排序并打印结果
打印函数
void printA(int *a,int len)
{
	int i;
	for(i = 0; i < len; i++)
	{
		printf("%4d",a[i]);
	}
	printf("\n");
}
交换函数
void Swap(int *a,int i,int j)
{
]]></description><category></category></item><item><title><![CDATA[冒泡排序及其改进算法]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/77030971</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/77030971</guid><author>gdgui_1014</author><pubDate>Thu, 10 Aug 2017 09:55:48 +0800</pubDate><description><![CDATA[将数组 a[10]  =  {7,2,9,4,1,3,8,6,5,0}从小到大排序并打印结果
打印函数：
void printA(int *a,int len)
{
	int i;
	for(i = 0; i < len; i++)
	{
		printf("%4d",a[i]);
	}
	printf("\n");
}
交换两个元素的位置：将数组首地址及要交换的元素下标作为参数传入
vo]]></description><category></category></item><item><title><![CDATA[文件操作函数的使用和区别]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76789492</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76789492</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 19:13:12 +0800</pubDate><description><![CDATA[一、fopen  与 fclose 函数的使用

fopen 函数用于打开一个文件

函数定义：FILE *fopen(const char *filename, const char *mode);

fopen 的返回值是一个文件指针，FILE 是在stdio.h中定义的结构体类型，封装了与文件相关的信息：

struct   _iobuf   { 
         cha]]></description><category></category></item><item><title><![CDATA[srand函数与rand函数的使用方法及区别]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76789011</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76789011</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 19:07:46 +0800</pubDate><description><![CDATA[rand函数

函数头文件：stdlib.h

函数定义：int rand(void)

函数功能：产生一个随机数

函数说明：rand函数产生的随机数严格意义讲不是真正的随机数，它里面采用了线性同余法计算出随机数，所谓的线性同语法简单来说就是使用了一个公式，该方法有个最大周期M，也就是说该方法实在一定的范围内生成一串数字，不过这个M一般来说比较大，所以正常使用时一般看起来就是产生]]></description><category></category></item><item><title><![CDATA[程序功能：建立一个带有头结点的单向链表，并将存储在数组中的字符依次转储到链表的各个结点中。]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76692014</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76692014</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:59:00 +0800</pubDate><description><![CDATA[#include 
#include 

struct node
{
int num;
struct node *next; 
};

typedef struct node Node;
typedef struct node *Link;

void CreatLink(Link *head)
{
*head = NULL;
}

void IsMallocOk]]></description><category></category></item><item><title><![CDATA[编写函数fun(int *a, int n, int *odd, int *even)]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76692003</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76692003</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:58:33 +0800</pubDate><description><![CDATA[编写函数fun(int *a, int n, int *odd, int *even)，
功能是：
  求出数组a[]中所有奇数之和以及所有偶数之和。
  并利用指针odd返回奇数之和，利用指针even返回偶数之和。 
  例如：a[]的值依次为：1，9，2，3，11，6；

  则利用指针odd返回奇数之和24；利用指针even 返回偶数之和 8。


#include]]></description><category></category></item><item><title><![CDATA[编写函数int stat(int a[],int n,int c[][2])]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691995</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691995</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:58:21 +0800</pubDate><description><![CDATA[编写函数int stat(int a[],int n,int c[][2])。
  a指向的数组中保存了由n个1位整数组成的数列（n为偶数）。
  函数从前至后依次将a数组中每两个相邻元素拼成一个不超过2位的整数，
  从而生成有n/2个元素组成的整数数列；统计该数列中不同整数各自出现的次数，

  并将统计结果保存到c指向的二维数组中。函数返回不同整数的个数。


#includ]]></description><category></category></item><item><title><![CDATA[编写函数void count(char a[],char w[][10],int n,int b[])。]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691983</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691983</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:58:02 +0800</pubDate><description><![CDATA[编写函数void count(char a[],char w[][10],int n,int b[])。
  功能是：统计w指向的数组中的n个单词在a指向的字符串中各自出现的次数


  将非字母字符看作单词分割符，拧将统计结果依次保存在b指向的数组中




#include 

#define N 4

int mystrlen(const char *str)
{]]></description><category></category></item><item><title><![CDATA[对一个二维数组中的数据排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691971</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691971</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:57:47 +0800</pubDate><description><![CDATA[对一个二维数组中的数据排序，方法如下：
   将整个数组中值最小的元素所在行调整为数组第一行,
   将除第一行外的行中最小元素所在行调整为第2行,


   将除第1,2行外的行中最小值元素所在行调整为第3行,以此类推




#include 

#define N 4

int FindMinLine(int Arr[][N], int CurrenLine)]]></description><category></category></item><item><title><![CDATA[找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691957</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691957</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:57:33 +0800</pubDate><description><![CDATA[找出7个默森尼数。法国数学家默森尼曾提出下列公式:Mp=2^p-1。
   当p是素数并且Mp也是素数时,称Mp为默森尼数,
   例如,p=5,Mp=2^5-1=31,5和31都是素数,因此31是默森尼数;


   而Mp=2^11-1=2047,11是素数,2047不是素数,因此2047不是默森尼数




#include 
#include 

int Judg]]></description><category></category></item><item><title><![CDATA[合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691941</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691941</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:56:53 +0800</pubDate><description><![CDATA[合并两个字符集合为一个新集合,每个字符串在新集合中仅出现一次,函数返回新集合中字符串。
    如： s1集合{“while”,”for”,”switch”,”if”,”continue”}
            s2集合{“for”,”case”,”do”,”else”,”char”,”switch”}
    运行结果:


         while   for   swit]]></description><category></category></item><item><title><![CDATA[找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691925</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691925</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:56:37 +0800</pubDate><description><![CDATA[找出符合以下条件的Troitsky数,将该数的首位数字移动到末位数字之后得到的数是原数的整数倍
   例如:将142857的首位数字1移动到末位之后得到的数是428571,而428571=3*142857,因此142857
   是Troitsky数  编程要求：
  （1） 编写函数int Troitsky(long a[]),其功能是求出10000以内的所有Troitsky数,]]></description><category></category></item><item><title><![CDATA[对N行N列二维数组的每一行排序，偶数行(0当作偶数)由小到大排序，奇数行由大到小排序]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691912</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691912</guid><author>gdgui_1014</author><pubDate>Sun, 06 Aug 2017 18:56:04 +0800</pubDate><description><![CDATA[对N行N列二维数组的每一行排序，偶数行(0当作偶数)由小到大排序，奇数行由大到小排序
   例如 3行3列 的二维数组   34,85,72,93,49,28,48,12,43


   输出 34, 72, 85   93, 49, 28   12, 43, 48




#include 

#define N 4

void Swap (int *a, int *b]]></description><category></category></item><item><title><![CDATA[编写函数void change(char *a,char *b,char*c)。    函数功能是首先把b指向的字符串逆向存放   然后将a指向的字符串和b指向的字符串按排列顺序交叉合并到c指向的数]]></title><link>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691895</link><guid>https://blog.youkuaiyun.com/gdgui_1014/article/details/76691895</guid><author>gdgui_1014</author><pubDate>Sat, 05 Aug 2017 18:45:16 +0800</pubDate><description><![CDATA[编写函数void change(char *a,char *b,char*c)。 
  函数功能是首先把b指向的字符串逆向存放
  然后将a指向的字符串和b指向的字符串按排列顺序交叉合并到c指向的数组中


  两个字符串中过长的剩余字符接在c指向数组的尾部。






#include 
#include 

int mystrlen (char *str)  /]]></description><category></category></item></channel></rss>