#import <Foundation/Foundation.h>
#include <stdio.h>
#define MaxSize 10
typedef int ElemType;
typedef struct{
int *elem;
int length;
int listsize;
}Sqlist;
/**
初始化一個(gè)順序表
@param L Sqlist類型的指針
*/
void initSqlist(Sqlist *L){
L->elem = (int *)malloc(MaxSize * sizeof(ElemType));
if (!L->elem) {
exit(0);
}
L->length = 0; //開始為空
L->listsize = MaxSize; //最大容量
}
void insertEle(Sqlist *L,int i,ElemType item){
ElemType *base,*insertPtr,*p;
if(i<1 || i>L->length+1) return;
if (L->length==L->listsize) {
base = (ElemType *)realloc(L->elem,(L->listsize+10)*sizeof(ElemType));
L->elem = base;
L->listsize = L->listsize+100;
NSLog(@"%d",L->length);
}
insertPtr = &(L->elem[i-1]);
// 第二次 單獨(dú)調(diào)用的時(shí)候 插入數(shù)據(jù)使用 把數(shù)據(jù)往后挪一位
for (p=&(L->elem[L->length-1]); p>=insertPtr; p--) {
*(p+1) = *p;
// NSLog(@"-->%d",*p);
}
*insertPtr = item;
// NSLog(@"hha->%d",*insertPtr);
L->length++;
}
/**
刪除元素
@param L Sqlist類型的指針
@param i 刪除元素的位置
*/
void DelElem(Sqlist *L,int i){
ElemType *delItem,*q;
if (i<1 || i>L->length) {
return;
}
delItem = &(L->elem[i-1]); //要?jiǎng)h除元素的位置
q = L->elem + L->length-1; //最后一個(gè)元素的位置
for (++delItem; delItem<=q; ++delItem) {
*(delItem-1) = *delItem;
}
L->length--;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
// insert code here...
NSLog(@"Hello, World!");
Sqlist l;
int i;
initSqlist(&l);
for (i=0; i<15; i++) {
insertEle(&l, i+1, i+1);
}
printf("\nThe content of the list is \n");
for (i = 0; i<l.length; i++) {
printf("%d ",l.elem[i]);
}
// insertEle(&l, 3, 100);
DelElem(&l,5);
printf("\nThe content of the list is \n");
for (i = 0; i<l.length; i++) {
printf("%d ",l.elem[i]);
}
}
return 0;
}
順序表二
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 瀾媽想問下魅寶們,是否有過這樣的疑惑,為什么同樣的飯,閏蜜吃了沒反應(yīng),自己卻在瘋狂的長肉?為什么!為什么!!為什么...
- 小學(xué)語文修改病句的方法 修改病句是小學(xué)語文考試中常見的題型,在修改病句之前,我們應(yīng)該清晰的了解有哪些病句現(xiàn)象,下面...
- 干貨要點(diǎn): 1、敘述、描寫和說明是三種記“實(shí)”的能力。 2、議論和抒情是兩種寫“虛”的能力。 3、根據(jù)表達(dá)的中心,...
- 作者:毛志杰 導(dǎo)讀:很多中小學(xué)生在寫作文時(shí)都表示“很難產(chǎn)”,那是因?yàn)槟X子里缺乏思路。如果按照以下三個(gè)順序來寫,輕松...
- 1.當(dāng)代種種事件不同于歷史之處,在于我們不知道它們會(huì)產(chǎn)生什么后果。 2.經(jīng)驗(yàn)和利益的偶然結(jié)合,往往會(huì)向人們揭示...