单链表的插入操作实现

 #include <stdio.h>
#include <stdlib.h> typedef struct LinkList
{
int data;
struct LinkList *next;
}LinkList; void CreateLinkList(LinkList *&L,int n, int *array)
{
L =(LinkList*)malloc(sizeof(LinkList)); //先创建一个带头结点的单链表
L->next = NULL;
LinkList * r = L; //r指针始终指向链表的最后一个节点
for (int i = ; i < n; ++i)
{
LinkList * p =(LinkList*)malloc(sizeof(LinkList));
p->data = *array++;
//将新增的节点用尾插法插入到链表中
p->next = r->next;
r->next = p;
r = p;
} } void InsertLinkList(LinkList *&L, int n, int item, int data)
{
if(item > n || item < )
{
printf("error!");
exit(-);
}
else
{
LinkList *p = L;
for (int i = ; i < item-; ++i)
{
p = p->next;
} LinkList * node =(LinkList*)malloc(sizeof(LinkList));
node->data = data;
node->next = p->next;
p->next = node;
}
} void DisLinkList(LinkList *L)
{
LinkList *p = L->next;
while(p!=NULL)
{
printf("%d ",p->data);
p = p->next;
}
} int main(int argc, char const *argv[])
{
/*int n = 5;
int arry[]={1,2,3,4,5};
int item = 3;
int data = 6;*/ int n,item,data;
int *arry; scanf("%d",&n);
arry = (int*)malloc(n*sizeof(int));
for (int i = ; i < n; ++i)
{
scanf("%d",&arry[i]);
}
scanf("%d",&item);
scanf("%d",&data); LinkList * L;
CreateLinkList(L,n,arry);
InsertLinkList(L,n,item,data);
DisLinkList(L);
return ;
}

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

  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. to do list_hadoop

    1.页面翻译 2.UI优化 vue.js reactive.js 3.Hadoop生态学习 Spark.Kafka.Druid……

  2. c# 泛型的应用

    泛型静态类 & function作为参数 /// <summary> /// /// </summary> /// <typeparam name="O ...

  3. [转载]解决linux 下多线程错误 undefined reference to `sem_init'

    转自:https://blog.csdn.net/yzycqu/article/details/7396498?utm_source=copy 解决linux 下多线程错误 undefined ref ...

  4. MS-Windows中的Git命令行

    Git command line for MS-Windows Inhalt 1 Download and install, or copy the git command line suite fo ...

  5. Centos7更改网卡名称Eth0并配置静态IP

    1.首先查看一下centos7的网卡名称 eno33554984 2.更改为centos7之前版本的网卡名称 3.更改网卡文件的名称 4.禁用可预测命名规则. 通过编辑 /etc/default/gr ...

  6. 51nod 1215 数组的宽度(单调栈)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1215 题意: 思路: 计算出以第i个数为最大值的区间范围,l_max[i ...

  7. 让你的 Python 代码优雅又地道

    示例代码和引用的语录都来自Raymond的演讲.这是我按我的理解整理出来的,希望你们理解起来跟我一样顺畅! 遍历一个范围内的数字 for i in [0, 1, 2, 3, 4, 5]: print  ...

  8. R语言可视化学习笔记之ggpubr包—SCI文章图

    转载:https://www.jianshu.com/p/678213d605a5?from=jiantop.com Hadley Wickham创建的可视化包ggplot2可以流畅地进行优美的可视化 ...

  9. oracle listagg和wm_concat函数

    对于将一列多值合并成一行问题,oracle提供了wmsys.wm_concat和listagg函数处理此问题,下面我们以emp表中数据为例,看看两函数的使用方法 假设我们需要统计每种job下面有哪些员 ...

  10. vue 父组件调用子组件方法

    情景: 父组件中引入上传附件的子组件:点击组件可以分别上传对应要求的图片,子组件内部循环可创建多个模块. 父组件传入数组子组件循环来创建不同的组件模块,所有事件都在子组件内部. 父组件页面的上方同时有 ...