题1.2.1
#include<stdio.h>
#define Maxsize 100
typedef int Elemtype;
typedef struct{
Elemtype elem[Maxsize];
int Length;
}SqList;
//整体创建
void Createlist(SqList &L,Elemtype a[],int n)
{
int i;
for(i=0;i<n;i++)
L.elem[i]=a[i];
L.Length=n;
}
//输出线性表
void DispList(SqList L)
{
for(int i=0;i<L.Length;i++)
printf("%4d",L.elem[i]);
printf("\n");
}
//方法一
void deletenode1(SqList &L,Elemtype x)
{
int k,i;
for(i=0;i<L.Length;i++)
if(L.elem[i]!=x)
{
L.elem[k]=L.elem[i];
k++;
printf("%4d",L.elem[i]);
}
L.Length=k;
}
//方法二
void Deletenode2(SqList &L,Elemtype x){
int i,k=0;
for(i=0;i<L.Length;i++){
if(L.elem[i]==x)
k++;
else
L.elem[i-k]=L.elem[i];
}
L.Length-=k;
}
int main(){
SqList L1,L2;
int a[]={1,2,1,2,3,2};
Createlist(L1,a,6);
Createlist(L2,a,6);
deletenode1(L1,2);
printf("\n");
Deletenode2(L2,2);
DispList(L2);
}
1 1 3
1 1 3
--------------------------------
Process exited after 0.1031 seconds with return value 0
请按任意键继续. . .
题1.2.1
#include<stdio.h>
#define Maxsize 100
typedef int Elemtype;
typedef struct{
Elemtype elem[Maxsize];
int Length;
}SqList;
//整体创建
void CreateList(SqList &L,Elemtype a[],int n)
{
int i;
for(i=0;i<n;i++)
L.elem[i]=a[i];
L.Length=n;
}
//输出线性表
void DispList(SqList L)
{
for(int i=0;i<L.Length;i++)
printf("%4d",L.elem[i]);
printf("\n");
}
void Deleteminus(SqList &L){
int i,k=0;
for(i=0;i<L.Length;i++)
if(L.elem[i]>=0)
{
L.elem[k]=L.elem[i];
k++;
}
L.Length=k;
}
int main(){
SqList L;
int a[]={1,-6,-4,2,-1,2};
CreateList(L,a,6);
Deleteminus(L);
DispList(L);
}
1 2 2
--------------------------------
Process exited after 0.1209 seconds with return value 0
请按任意键继续. . .