1.
/*
文件名称:顺序表的应用
作 者:胡德杰
完成日期:2017年9月21号
版 本 号:v1.1.6
*/
#include"../f/list.h"
void delx2y(SqList *&L, ElemType x, ElemType y)
{
int k=0,i; //k记录非x的元素个数
ElemType t;
if(x>y)
{
t=x;
x=y;
y=t;
}
for (i=0; i<L->length; i++)
if (L->data[i]<x || L->data[i]>y ) //复制不在[x, y]之间的元素
{
L->data[k]=L->data[i];
k++;
}
L->length=k;
}
int main()
{
SqList *sq;
ElemType a[10]= {5,8,7,0,2,4,9,6,7,3};
CreateList(sq, a, 10);
printf("删除前 ");
DispList(sq);
delx2y(sq, 4, 7);
printf("删除后 ");
DispList(sq);
return 0;
}
2.
void move(SqList *&L)
{
int i=0,j=L->length-1;
ElemType tmp;
while(i<j)
{
while((j>i)&&L->data[j]%2==0) //右边是偶数就不管了
j--;
while((j>i)&&L->data[i]%2!=0) //左边是奇数就不管了
i++;
if (i<j) //如果未到达“分界线”,将右边的奇数和左边的偶数交换
{
tmp=L->data[i];
L->data[i]=L->data[j];
L->data[j]=tmp;
}
}
}
int main()
{
SqList *sq;
ElemType a[10]= {5,8,7,0,2,4,9,6,7,3};
CreateList(sq, a, 10);
printf("操作前 ");
DispList(sq);
move(sq);
printf("操作后 ");
DispList(sq);
return 0;
}
知识点总结:
对顺序表内部的理解和操作。
学习心得:
思考是一个有趣的过程,看完老师的代码以后,豁然开朗,瞬间就写出来了。。。。。。