问题:每次执行 ListInsert 功能,线性表长度都加了3而不是1 最后发现因为 if 后没有 else,每执行一次功能函数都被调用了3次。。。 另外即使不出问题,也会浪费时间。
#include <stdio.h> #include <stdlib.h> #include <malloc.h> typedef char ElemType; typedef struct DNode { ElemType data; struct DNode *prior; struct DNode *next; }DLinkNode; int CreateList(DLinkNode *L, ElemType a[], int n ) { DLi
#include <bits/stdc++.h>#include <stdio.h>#include <stdlib.h>#include <cstdlib>#define MaxSize 10using namespace std;//顺序表的删除typedef struct { int data[MaxSize]; int length;} SqList;void InitList(SqList &L) { for (int i
#include <stdio.h>#define MaxSize 10typedef int ElemType;typedef struct{ int data[10]; int length;}SqList; void InitList(SqList &L){ for(int i=0;i<MaxSize;i++){ L.data[i]=0; L.length=0; } } //插入 void ListInsert(SqList &L,int i,int e