标签:sizeof 静态 free struct size void list 静态链表 return
#include "stdafx.h" #include <malloc.h> #define MaxSize 50 typedef char ElemType; typedef struct { ElemType data[MaxSize]; int length; } SqList; // 一维数组即是顺序表 void InitList(SqList * &L) { L = (SqList *)malloc(sizeof(SqList)); L->length = 0; } void DestroyList(SqList *L) // 释放顺序列表 { free(L); } int ListEmpty(SqList *L) { return (L->length == 0); } int ListLength(SqList *L) { return L->length; } void DispList(SqList *L) { int i; if (ListEmpty(L))return; for (i = 0; i < L->length; i++) { printf_s("%c", L->data[i]); } printf_s("\n"); } int GetElem(SqList *L, int i, ElemType &e) // 获取顺序表第i个元素 { if (i<1 || i>L->length) { return 0; } e = L->data[i - 1]; return 1; } int LocateElem(SqList *L, ElemType e) // 在顺序表中查找元素e { int i = 0; while (i<L->length && L->data[i]!=e) { i++; } // if (i >= L->length) { return 0; } return i+1; } int ListInsert(SqList *&L, int i, ElemType e) // 在顺序列表L中第i个位置上插入元素e { int j; if (i<1 || i>L->length + 1) { return 0; } i--; for (j = L->length; j < i; j--) { L->data[j] = L->data[j - 1]; } L->data[i] = e; L->length++; return 1; } int ListDelete(SqList *&L, int i, ElemType &e) // 在顺序列表中删除第i个元素 { int j; if (i < 1 || i>L->length) { return 0; } i--; e = L->data[i]; for (j = i; j < L->length - 1; j++) { L->data[j] = L->data[j + 1]; } L->length--; return 1; }
标签:sizeof 静态 free struct size void list 静态链表 return
原文地址:http://www.cnblogs.com/tuqunfu/p/7226291.html