美文网首页
顺序表二

顺序表二

作者: 低吟浅唱1990 | 来源:发表于2017-04-10 16:54 被阅读10次

<pre>

/#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;
}

相关文章

  • 顺序表二

    /#import /#include /#define Max...

  • 顺序表(二)

    2.1 线性表 线性表是最基本的数据结构之一,它是某类元素的集合,记录着元素之间的一种顺序关系,是实现更复杂数据结...

  • 无标题文章

    二级标题 三级标题 关键字 文档正文 第一点 第二点 第三点 顺序表 顺序表的结构 顺序表的操作

  • 数据结构-顺序表

    一、概念 顺序表是线性表的顺序存储表示 顺序表采用一组地址连续的存储单元依次存储线性表的数据元素 二、位置表示...

  • 数据结构03-线性表之顺序表

    第三章 线性表之顺序表 第三章 线性表之顺序表一、什么是线性表?1> 概念2> 线性表的基本操作二、线性表的顺序存...

  • 数据结构与算法(二,线性表的顺序存储结构,穷举法(冒泡和选择排序

    线性表 顺序表 顺序表的特性 顺序表的元素有前驱和后继 顺序表有size 顺序表的增删改查 顺序表的优缺点优点:尾...

  • 查找

    查找 framework 1 顺序 查找 适用: 线性表 思路: 逐个比较 2 二分查找 适用: 有序 顺序表...

  • 顺序表-动态顺序表

    顺序表是逻辑上相邻的元素物理也相邻的。 静态内存是指在程序开始运行时由编译器分配的内存,它的分配是在程序开始编译时...

  • 顺序表-静态顺序表

    线性表,全名为线性存储结构。将具有“一对一”关系的数据“线性”地存储到物理空间中,这种存储结构就称为线性存储结构(...

  • 线性表之顺序存储-顺序表

    顺序表的操作 [x] 向有序顺序表插入一个元素 [x] 顺序表的冒泡排序 [x] 顺序表的删除操作 [x] 顺序表...

网友评论

      本文标题:顺序表二

      本文链接:https://www.haomeiwen.com/subject/jjzsattx.html