一、参数传递-交换值
#include <iostream>
using namespace std;
//1.传值方式:不改变顺序,修改的是副本的值,实参值不变
void swap1(float m,float n)
{
float temp;
temp=m;
m=n;
n=temp;
}
//2.传地址方式-指针类型做参数,改变顺序,形参变化影响实参
void swap2(float *m,float *n)
{
float t;
t=*m;
*m=*n;
*n=t;
}
//2':不改变顺序
void swap3(float *m,float *n)
{
float *t;
t=m;
m=n;
n=t;
}
//3:传地址方式-引用类型做参数
//swap4(a,b)
void swap4(float &m,float &n)
{
float temp;
temp=m;
m=n;
n=temp;
}
void main()
{
float a,b;
cin>>a>>b;
swap4(a,b);//swap1(a,b);
cout<<a<<endl<<b<<endl;
}
/*
void main()
{
float a,b,*p1,*p2;
cin>>a>>b;
p1=&a;
p2=&b;
swap2(p1,p2);//swap3(p1,p2);
cout<<a<<endl<<b<<endl;
}
*/
//二、用数组作为函数的参数,将数组中n个整数按相反的顺序存放,要求输入和输出在主函数中完成
//偶数个元素-实质是以中轴线,对称交换元素,以数组[1,3,5,7]为例
#include <iostream>
using namespace std;
#define N 4//数组大小
void sub(int b[])
{
int i,j,temp,m;
m=N/2;
for(i=0;i<m;i++)
{
j=N-1-i;
temp=b[i];
b[i]=b[j];
b[j]=temp;
}
}
void main()
{
int a[N],i;
//输入数组方法2
for( i=0;i<N;i++)
cin>>a[i];
sub(a);
for(i=0;i<N;i++)
cout<<a[i]<<endl;
}
一、顺序表-随机存取-T(n)=O(1)
查找、插入、删除算法的平均时间复杂度为O(n)
顺序表的空间复杂度S(n)=O(1)
(没有占用辅助空间)
//伪代码
#include <iostream>
using namespace std;
#define MAXSIZE 100
//顺序表的存储结构
typedef struct
{
ElemType *elem;//存储空间基地址,ElemType为数据类型,以下为伪代码
int length;//当前长度
}Sq