顺序表插入操作的实现

 #include<stdio.h>
#include <stdlib.h> void InitList(int *&l, int n)
{
l = (int*)malloc(n*sizeof(int));
} void CreateList(int *&L,int n,int *array)
{
int *c = L;
while(n--)
{
*c++ = *array++;
}
} void InsertList(int *&l,int n,int item, int data)
{
int flag = n;
for(int i=;i<n;i++)
{
if (l[i]==item)
{
flag = i;
}
} /*
c库函数 void *realloc(void *ptr, size_t size) 尝试重新调整之前调用 malloc 或 calloc 所分配的 ptr 所指向的内存块的大小。
该函数返回一个指针指向重新分配大小的内存;
ptr -- 指针指向一个要重新分配内存的内存块,该内存块之前是通过调用 malloc、calloc 或 realloc 进行分配内存的。如果为空指针,
则会分配一个新的内存块,且函数返回一个指向它的指针。
size -- 内存块的新的大小,以字节为单位。如果大小为 0,且 ptr 指向一个已存在的内存块,则 ptr 所指向的内存块会被释放,并返回一个空指针。
*/
int *newbase =(int*)realloc(l,(n+)*sizeof(int));
l = newbase; if (flag!=n)
{
int *q = &(l[flag]);
for(int *p = &(l[n-]); p>=q; p--)
{
*(p+) = *p;
}
*q = data;
}
else
{
int *p = &(l[n]);
*p = data;
}
} void DisList(int *b,int n)
{
while(n--)
{
printf("%d ",*b++);
}
} int main(int argc, char const *argv[])
{
/*int n = 10;
int array[] = {10,20,30,40,50,60,70,80,90,100};
int item = 50;
int data = 55;*/ int n,item,data;
int *array;
scanf("%d",&n);
array = (int*)malloc(n*sizeof(int));
for (int i = ; i < n; ++i)
{
scanf("%d",&array[i]);
} scanf("%d",&item);
scanf("%d",&data); int *l;
InitList(l,n);
CreateList(l,n,array);
InsertList(l,n,item,data);
DisList(l,n+);
return ;
}

SWUST OJ (943)的更多相关文章

  1. [Swust OJ 404]--最小代价树(动态规划)

    题目链接:http://acm.swust.edu.cn/problem/code/745255/ Time limit(ms): 1000 Memory limit(kb): 65535   Des ...

  2. [Swust OJ 649]--NBA Finals(dp,后台略(hen)坑)

    题目链接:http://acm.swust.edu.cn/problem/649/ Time limit(ms): 1000 Memory limit(kb): 65535 Consider two ...

  3. SWUST OJ NBA Finals(0649)

    NBA Finals(0649) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 404 Accepted: 128   Descri ...

  4. [Swust OJ 1023]--Escape(带点其他状态的BFS)

    解题思路:http://acm.swust.edu.cn/problem/1023/ Time limit(ms): 5000 Memory limit(kb): 65535     Descript ...

  5. [Swust OJ 1125]--又见GCD(数论,素数表存贮因子)

    题目链接:http://acm.swust.edu.cn/problem/1125/ Time limit(ms): 1000 Memory limit(kb): 65535   Descriptio ...

  6. [Swust OJ 1126]--神奇的矩阵(BFS,预处理,打表)

    题目链接:http://acm.swust.edu.cn/problem/1126/ Time limit(ms): 1000 Memory limit(kb): 65535 上一周里,患有XX症的哈 ...

  7. [Swust OJ 1026]--Egg pain's hzf

      题目链接:http://acm.swust.edu.cn/problem/1026/     Time limit(ms): 3000 Memory limit(kb): 65535   hzf ...

  8. [Swust OJ 1139]--Coin-row problem

    题目链接:  http://acm.swust.edu.cn/contest/0226/problem/1139/ There is a row of n coins whose values are ...

  9. [Swust OJ 385]--自动写诗

    题目链接:http://acm.swust.edu.cn/problem/0385/ Time limit(ms): 5000 Memory limit(kb): 65535    Descripti ...

随机推荐

  1. Docker 使用Dockerfile构建tomcat镜像

    Dockerfile概念: 镜像的定制实际上就是定制每一层所添加的配置.文件.如果我们可以把每一层修改.安装.构建.操作的命令都写入一个脚本,用这个脚本来构建.定制镜像,那么之前提及的无法重复的问题. ...

  2. hihoCoder week16 RMQ-ST算法

    RMQ问题 用的st表吧,读入数据挺多的,输出数据也挺多的 我还用了 cout<<endl;  T了.. 真的是 做题不带脑子的 #include <bits/stdc++.h> ...

  3. 操作系统04_IO管理

    输入输出系统 IO系统的层次结构 用户层IO软件 设备独立性软件 设备驱动程序 中断处理程序 对IO设备的控制方式 使用轮询的可编程IO方式 cpu不停地检查设备的状态,以字节为单位,非中断方式,利用 ...

  4. 论文笔记之:Learning Cross-Modal Deep Representations for Robust Pedestrian Detection

    Learning Cross-Modal Deep Representations for Robust Pedestrian Detection 2017-04-11  19:40:22  Moti ...

  5. Nginx配置示例

    server {listen 6080;server_name local.boheadmin; location / {proxy_pass http://127.0.0.1:8087;} loca ...

  6. Latex: extra alignment tab has been changed to cr

    参考: Error: extra alignment tab has been changed to \cr Latex: extra alignment tab has been changed t ...

  7. Quartus工程中各文件类型的含义

    https://blog.csdn.net/jingliangliu/article/details/52245497 .jic           JTAG Indirect Configurati ...

  8. C#题目及答案(1)

    1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成 ...

  9. Spring项目JUnit测试报错ClassNotFoundException解决

    Eclipse项目上有红色感叹号,各包显示正常.用JUnit测试部分能运行,部分报错,报错如下: Class not found UserTestjava.lang.ClassNotFoundExce ...

  10. Spring-test单元测试

    <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test& ...