【算法】_003_代码版式

    根据周兆熊学长的系列文章 让你提前认识软件开发(5):重定义一些基本数据类型 和 让你提前认识软件开发(6):程序的版式和注释 等,使用以下版式作为我以后代码的基准格式。

1、typedef.h

/***************************************************************
*版权所有 (C)2014,长沙铁信交通科技有限公司。
*
*文件名称:typedef.h
*内容摘要:重定义内置基本类型
*其它说明:
*当前版本:V1.0
*作   者:伍定湘
*完成日期:2014年9月25日
*
*修改记录1:
*   修改日期:2014年9月25日
*   版本号:V1.0
*   修改人:伍定湘
*   修改内容:创建
*修改记录2:
*   修改日期:2014年9月25日
*   版本号:V1.1
*   修改人:伍定湘
*   修改内容:添加char类型重定义
***************************************************************/


#ifndef _TYPEDEF_H_ //防止头文件被重复引用
#define _TYPEDEF_H_


/**************************************************************
相关宏定义
**************************************************************/
typedef unsigned short int UINT16;
typedef signed short int INT16;
typedef unsigned int UINT32;
typedef signed int INT32;
typedef unsigned long ULONG;
typedef signed long LONG;

typedef unsigned char UINT8;
typedef signed char INT8;
typedef char CHAR;//修改2添加


/**************************************************************
相关结构体定义
**************************************************************/


/**************************************************************
本程序中出现的函数的声明
**************************************************************/


#endif

2、main.c

/***************************************************************
*版权所有 (C)2014,长沙铁信交通科技有限公司。
*
*文件名称:main.c
*内容摘要:
*其它说明:
*当前版本:V1.0
*作   者:伍定湘
*完成日期:2014年9月25日
*
*修改记录1:
*   修改日期:2014年9月25日
*   版本号:V1.0
*   修改人:伍定湘
*   修改内容:创建
***************************************************************/


/**************************************************************
头文件引用
**************************************************************/
#include "typedef.h"//引入内置类型重定义

//#include "001_sort_insert.h"
//#include "002_sort_select.h"
//#include "003_sort_merge.h"
//#include "004_search_binary.h"
//#include "005_sort_insert_b.h"
//#include "006_sort_merge_i.h"
//#include "007_sort_bubble.h"
//#include "008_maxsubarr_violate.h"
//#include "009_maxsubarr_divcon.h"//结构体重定义
//#include "010_maxsubarr_linear.h"//结构体重定义
#include "011_matrix_mutiply.h"
#include "012_matrix_mutiply_recursive.h"//结构体重定义
#include "013_matrix_mutiply_strassen.h"//结构体重定义

#include <stdio.h>
#include <stdlib.h>



/**************************************************************
全局变量定义
**************************************************************/
//INT32 aTest[] = { 13, -3, -25, 20, -3, -16, -23, 18, 20, -7, 12, -5, -22, 15, -4, 7 };

INT32 aMtrDataA[] =
{
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
};

INT32 aMtrDataB[] =
{
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
	1, 2, 3, 3, 2, 3, 3, 4, 1, 2, 3, 3, 2, 3, 3, 4,
};


/**************************************************************
函数实现
**************************************************************/

/**********************************************************************
*功能描述:程序入口
*输入参数:
*输出参数:
*返回值:0-程序执行成功
*其它说明:
*修改日期           版本号         修改人        修改内容
* ---------------------------------------------------------------------
*2014年9月25日      V1.0          伍定湘        创建
***********************************************************************/
UINT32 main(void)
{
    /* 获取数组长度 */
    //INT32 iArrLen = sizeof(aTest) / sizeof(aTest[0]);//当且仅当arrTest数组长度编译时就可以确定时sizeof返回数组长度,否则将返回元素字节数

    /* 对aTest数组做非降序排序 */
    //sort_bubble(aTest, iArrLen);

    /* 反序循环输出排序后的数组 */
    /*while (iArrLen--)
    {
        printf("%d\n", aTest[iArrLen]);
    }*/

    /* 对aTest数组做二分查找 */
    //INT8 iOffset = search_binary(aTest, iArrLen, 1);
    //printf("aTest[%d] = %d\n", iOffset, aTest[iOffset]);

    /* 求aTest数组最大子数组 */
	//maxsubarr_linear(aTest, iArrLen);
    //MaxSubArrTypedef msaAcrossMid = maxsubarr_acrossing(aTest, 0, 0, 1);
    //printf("msaAcrossMid.iOffsetMaxBegin = %d\n", msaAcrossMid.iOffsetMaxBegin);
    //printf("msaAcrossMid.iOffsetMaxEnd = %d\n", msaAcrossMid.iOffsetMaxEnd);
    //printf("msaAcrossMid.iSumMax = %d\n", msaAcrossMid.iSumMax);

	/* 矩阵乘法 */
	INT32 iOrder = 16;
	matrix_mutiply(aMtrDataA, aMtrDataB, iOrder);//O(n^3)
	matrix_mutiply_recursive(aMtrDataA, aMtrDataB, iOrder);//O(n^3)
	matrix_mutiply_strassen(aMtrDataA, aMtrDataB, iOrder);//O(n^2.81)

    while (1);
    return(0);
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值