c语言顺序表有效元素长度,C语言版数据结构顺序表的问题
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
52.Status ListInsert_Sq(SqList *L, int i, ElemType e)
53.{
54.???? ElemType *newBase = NULL;
55.???? ElemType *q = NULL;
56.???? ElemType *p = NULL;
57.
58.???? if(i < 1 || i > L->length + 1)
59.???? {
60.???????? return ERROR;???????????????????? //邊界檢查
61.???? }
62.???? //當前存儲空間已滿,增加分配
63.???? if(L->length >= L->listSize)
64.???? {
65.???????? //realloc()函數是關鍵點,所以要先明白這個函數的用法
66.???????? newBase = (ElemType *)realloc(L->elem, (L->listSize + LIST_INCREMENT) * sizeof(ElemType));
67.???????? if(!newBase)
68.???????? {
69.???????????? exit(OVERFLOW);?????????????? //存儲分配失敗
70.???????? }
71.???????? L->elem = newBase;??????????????? //新基址
72.???????? L->listSize += LIST_INCREMENT;??? //增加存儲容量
73.???? }
74.???? q = L->elem + (i-1);????????????????? //q為插入位置
75.???? //插入位置及之后的元素右移
76.???? for(p = L->elem + (L->length - 1); p >= q; --p)
77.???? {
78.???????? *(p+1) = *p;
79.???? }
80.???? *q = e;
81.???? ++L->length;
82.???? return OK;
83.}
第63行 L->length >= L->listSize,順序表的長度跟它的存儲容量能在一起比較嗎?不是一個領域的定義吧?不太理解這兩者的區別。
ElemType 實際上是Int,為什么不直接寫Int?
總結
以上是生活随笔為你收集整理的c语言顺序表有效元素长度,C语言版数据结构顺序表的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言若对函数未加,【单选题】C 语言程
- 下一篇: android 状态机的作用,Andro