物联网网站开发公司,公司网站建设合规吗,网站开发技术文档格式,域名如何设置直接大概wordpress目录
#xff08;1#xff09;C语言传值与传地址变量
#xff08;2#xff09;算法效率的度量
#xff08;3#xff09;基本操作
#xff08;4#xff09;主函数 主要由实现基本操作和算法的程序构成。这些程序有6类#xff1a;
数据存储结构#xff0c;文件名第…目录
1C语言传值与传地址变量
2算法效率的度量
3基本操作
4主函数 主要由实现基本操作和算法的程序构成。这些程序有6类
数据存储结构文件名第一个字母为c以h为扩展名。如c1-1.h是第1章的第1种存储结构。每种存储结构的一组基本操作函数。以bo开头cpp为扩展名。调用基本操作的主程序。以main开头cpp为扩展名。实现算法的程序。以algo开头cpp为扩展名。不同于基本操作又被多次调用的函数以func开头cpp为扩展名。数据文件以txt为扩展名。
1C语言传值与传地址变量
#include stdio.hvoid fa(int a)
{a;printf(在函数fa中a%d\n, a);
}
void fb(int *a)
{(*a);printf(在函数fb中a%d\n, *a);
}int main()
{int n 1;printf(在主程序中调用函数fa之前n%d\n, n);fa(n);printf(在主程序中调用函数fa之后n%d\n, n);fb(n);printf(在主程序中调用函数fa之后n%d\n, n);
}传地址变量若变量值在函数中被修改则变化的值会带回到主函数中运行结果为 2算法效率的度量
//计算1-1/x1/(x*x)…的更快捷的算法
//计算程序运行时间
#includesys/timeb.h
#includestdio.hvoid main()
{timeb t1, t2;long t;double x, sum11, sum1;int i, n;printf(请输入x n);scanf(%lf%d, x, n);ftime(t1); for(i1; in; i){ sum1*-1.0/x;sumsum1;}ftime(t2); t(t2.time-t1.time)*1000(t2.millitm-t1.millitm); printf(sum%lf用时%ld毫秒\n, sum, t);
}
运行结果为具体运行时间跟计算机有关。 3基本操作
这里介绍抽象数据类型的8个基本操作函数返回值类型都是Status即智能返回OK、ERROR.
// bo1-1.h 抽象数据类型Triplet和ElemType由c1-1.h定义的基本操作8个
Status InitTriplet(Triplet T, ElemType v1, ElemType v2, ElemType v3)
{ //操作结果构造三元组T依次置T的3个元素的初值为v1,v2,v3T(ElemType*)malloc(3*sizeof(ElemType)); if(!T)exit(OVERFLOW); //OVERFLOW为定义的宏变量T[0]v1, T[1]v2, T[2]v3;return OK;
}Status DestroyTriplet(Triplet T)
{ //操作结果三元组T被销毁free(T); TNULL; return OK;
}Status Get(Triplet T, int i, ElemType e)
{ //初试条件三元组T已存在操作结果用e返回T的第i个元素的值if(i1 || i3) return ERROR;eT[i-1]; return OK;
}Status Put(Triplet T, int i, ElemType e)
{ //改变T的第i元的值为eif(i1 || i3) return ERROR;T[i-1]e; return OK;
}Status IsAscending(Triplet T)
{ // 判断T的3个元素是否按升序排列return(T[0]T[1] T[1]T[2]);
}Status IsDescending(Triplet T)
{ //判断T的3个元素是否按降序排列return(T[0]T[1] T[1]T[2]);
}Status Max(Triplet T, ElemType e)
{ //返回最大值e(T[0]T[1]) ? (T[0]T[2] ? T[0] : T[2]) : (T[1]T[2] ? T[1] : T[2]);return OK;
}Status Min(Triplet T, ElemType e)
{ //返回最小值e(T[0]T[1]) ? (T[0]T[2] ? T[0] : T[2]) : (T[1]T[2] ? T[1] : T[2]);return OK;
}
4主函数
主函数是用来检验基本操作函数是否正确。
// main1-1.cpp 检验基本操作bo1-1.h的主函数
// 以下两行可根据需要选其一且只能选其一而无须改变基本操作.
typedef int ElemType;
//typedef double ElemType; // 定义抽象数据类型ElemType在本程序中为双精度型。
#includec1-1.h
#includebo1-1.h
#includefunc1-1.hint main()
{Triplet T;ElemType m;Status i;iInitTriplet(T, 5, 7, 9);//iInitTriplet(T, 5.0, 7.1, 9.3); // 当ElemType为双精度型时可取代上句。第15行printf(调用初始化函数后i%d(1成功)。T的3个值为,i);PrintT(T);iGet(T, 2, m);if(iOK){printf(T的第2个值为);PrintE(m);}iPut(T, 2, 6);if(iOK){printf(将T的第2个值改为6后T的3个值为);PrintT(T);}iIsAscending(T);printf(调用测试升序的函数后i%d0否 1是\n, i);iIsDescending(T);printf(调用测试降序的函数后i%d0否 1是\n, i);if((iMax(T, m))OK){printf(T中的最大值为);PrintE(m);}if((iMin(T, m))OK){ printf(T中的最小值为);PrintE(m);}DestroyTriplet(T);printf(销毁T后T%u\n, T);return 0;
}
运行结果为