#import <Foundation/Foundation.h>
#include <stdio.h>
#define MaxSize 10
typedef int ElemType;
typedef struct{
int *elem;
int length;
int listsize;
}Sqlist;
/**
初始化一个顺序表
@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]);
// 第二次 单独调用的时候 插入数据使用 把数据往后挪一位
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]); //要删除元素的位置
q = L->elem + L->length-1; //最后一个元素的位置
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;
}
顺序表二
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 澜妈想问下魅宝们,是否有过这样的疑惑,为什么同样的饭,闰蜜吃了没反应,自己却在疯狂的长肉?为什么!为什么!!为什么...
- 小学语文修改病句的方法 修改病句是小学语文考试中常见的题型,在修改病句之前,我们应该清晰的了解有哪些病句现象,下面...
- 干货要点: 1、叙述、描写和说明是三种记“实”的能力。 2、议论和抒情是两种写“虚”的能力。 3、根据表达的中心,...
- 作者:毛志杰 导读:很多中小学生在写作文时都表示“很难产”,那是因为脑子里缺乏思路。如果按照以下三个顺序来写,轻松...
- 1.当代种种事件不同于历史之处,在于我们不知道它们会产生什么后果。 2.经验和利益的偶然结合,往往会向人们揭示...