存档---
1 #include2 #include 3 typedef int ElemType; 4 #define MAXSIZE 10 5 #include "SqList.h" 6 7 void main() 8 { 9 SqList myList;10 int i = 1,x,sum = 0,n;11 InitList(myList);12 scanf("%d",&x);13 while(x!=-1)//输入的数据以-1作为结束标志 14 {15 if(ListInsert(myList,i,x)==false)16 {17 printf("错误!\n");18 return;19 }20 i++;21 scanf("%d",&x);22 }23 n = ListLength(myList);24 for(i = 1;i<=n;i++)25 {26 x = GetElem(myList,i);27 sum = sum+x;28 }29 printf("%d\n",sum);30 ClearList(myList);31 }
1 typedef struct List{ 2 ElemType *elem; 3 int length; 4 }SqList; 5 6 void InitList(SqList &L) 7 { //构造一个空的顺序表 8 L.elem = new ElemType[MAXSIZE]; 9 L.length = 0;10 }11 12 void ClearList(SqList &L)13 { //清空线性表,不销毁 14 //delete []L.elem;15 //L.elem = NULL;16 L.length = 0;17 }18 19 int ListLength(SqList L)20 { //求线性表长度 21 return L.length;22 }23 24 bool ListInsert(SqList &L,int i,ElemType e)25 { //在线性表L中第i个数据元素之前插入新数据元素e 26 if(L.lengthL.length)45 {46 printf("i不在[1..n]范围内");47 exit(-2);48 }49 return L.elem[i-1];50 }
运行结果如下: