1、已知长度为n的线性表a采用顺序存储结构,编写算法将a中所有的非零元素依次移到线性表a的前端。
int n; //线性表的长度
typedef struct{
int data[n+1]; //存放顺序元素的数组
int length; //存放顺序表的长度
}Sqlist; //顺序表类型的定义
void change(Sqlist A,int n)
{
int temp; //临时变量
A.length = n; //线性表的长度为n
for (int i=0; i<A.length; i++)
{
if (A.data[i] == 0)
{
for (int j=i+1; j<A.length; j++)
{
if (A.data[j] != 0)
{
temp = A.data[i];
A.data[i] = A.data[j];
A.data[j] = temp;
}
}
}
}
}
2、已知一个顺序表LA,并且顺序表的数据域是整数类型,编写算法计算所有数据的平均值。
typedef struct{
int data[maxSize]; //存放顺序元素的数组
int length; //存放顺序表的长度
}Sqlist; //顺序表类型的定义
int average(Sqlist LA)
{
int sum=0;
int average=0;
for (int i=0; i<LA.length; i++)
{
sum += LA.data[i];
}
average = sum/LA.length;
return average;
}
可能还有问题,后期在更改!