代码
#ifndef _SQLIST_H
#define _SQLIST_H
#define MaxSize 100
typedef int ElemType;
typedef struct{
ElemType data[MaxSize];
int length;
}SqList;
void InitList(SqList &L);
void DestroyList(SqList L);
int GetLength(SqList L);
int GetElem(SqList L, int i, ElemType &e);
int Locate(SqList L,ElemType x);
int InsElem(SqList &L, ElemType x, int i);
int DelElem(SqList &L, int i);
void DispList(SqList L);
void CreateList(SqList &L, ElemType a[], int n);
#endif
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
#define MaxSize 100
typedef int ElemType;
typedef struct{
ElemType data[MaxSize];
int length;
}SqList;
void InitList(SqList &L)
{
L.length = 0;
}
void DestroyList(SqList L)
{}
int GetLength(SqList L)
{
return L.length;
}
int GetElem(SqList L, int i, ElemType &e)
{
if(i < 1 || i > L.length)
return 0;
else
{
e = L.data[i - 1];
return 1;
}
}
int Locate(SqList L, ElemType x)
{
int i = 0;
while (i < L.length && L.data[i] != x)
i ++;
if(i >= L.length) return (0);
else return (i + 1);
}
int InsElem(SqList &L, ElemType x, int i)
{
int j;
if(i < 1 || i > L.length + 1)
return 0;
for(j + L.length; j > i - 1; j --)
L.data[j] = L.data[j - 1];
L.data[i - 1] = x;
L.length++;
return 1;
}
int DelElem(SqList &L, int i)
{
int j;
if(i < 1 || i > L.length)
return 0;
for(j = i; j < L.length; j++)
L.data[j - 1] = L.data[j];
L.length--;
return 1;
}
void DispList(SqList L)
{
int i;
for(i = 0; i < L.length; i++)
printf("%d ",L.data[i]);
printf("\n");
}
void CreateList(SqList &L, ElemType a[], int n)
{
int i, k = 0;
for(i = 0; i < n; i++)
{
L.data[k] = a[i];
k ++;
}
L.length = k;
}
#include <iostream>
#include <cstdio>
#include "SqList.h"
using namespace std;
void basic_foo()
{
SqList L,L1,L2;
InitList(L);
InitList(L1);
InitList(L2);
int n,a[MaxSize];
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> a[i];
}
int k = 0, j = 0;
int r[MaxSize],o[MaxSize];
for(int i = 0; i < n; i++)
{
if(a[i] % 2 == 0)
{
o[k] = a[i];
k++;
}
else
{
r[j] = a[i];
j++;
}
}
CreateList(L,a,n);
printf("L:"); DispList(L);
printf("拆分\n");
int n1 = sizeof(r) / sizeof(r[0]);
int n2 = sizeof(o) / sizeof(o[0]);
CreateList(L2, r, n1);
printf("L:"); DispList(L2);
printf("\n");
CreateList(L1, o, n2);
printf("L1:"); DispList(L1);
printf("\n");
DestroyList(L);
DestroyList(L1);
DestroyList(L2);
}
void expand_foo()
{
}
int main()
{
basic_foo();
expand_foo();
return 0;
}
运行结果及报错内容
我想要达到的结果