link quiz
2016-05-01 14:33
399 查看
/*
============================================================================
Name : link_list(204).c
Author : Cly
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
//这里创建一个结构体用来表示链表的节点类型
struct Node {
int data;
struct Node *next;
};
int main(void) {
freopen("./in.txt", "r", stdin);
struct Node *head, *p, *q, *t;
int i, n, a;
scanf("%d", &n);
head = NULL;
//头指针为空
for (i = 1; i <= n; ++i) {
scanf("%d", &a);
//动态申请一个空间,用来存放一个结点,并用临时指针p指向这个结点
p = (struct Node*) malloc(sizeof(struct Node));
p->data = a;
//将数据存储到当前节结点的data域中
p->next = NULL;
//当前节点的下一个结点为空
if (head == NULL)
head = p; //如果这是第一个创建的结点,则将头指针指向它
else
q->next = p; //如果不是第一个结点,则将上一个的后继指针指向当前的结点
q = p; //***记录当前节点的值(下一个的上一个结点指向)
}
scanf("%d", &a); //读入待插入的数
t = head; //从链表的头开始遍历
while (t != NULL) { //当没有到达尾部前
if (t->next == NULL || t->next->data > a) { //如果当前结点是最后一个结点或者下一个结点的值大于待输入的插入数
p = (struct Node*) malloc(sizeof(struct Node)); //动态申请一个空间,用来存放结点
p->data = a;
p->next = t->next;
t->next = p;
break; //插入完毕
}
t = t->next; //继续下一个结点
}
//输出链表中的所有数
t = head;
while (t != NULL) {
printf("%d ", t->data);
t = t->next;
}
fclose(stdin);
return EXIT_SUCCESS;
}
============================================================================
Name : link_list(204).c
Author : Cly
Version :
Copyright : Your copyright notice
Description : Hello World in C, Ansi-style
============================================================================
*/
#include <stdio.h>
#include <stdlib.h>
//这里创建一个结构体用来表示链表的节点类型
struct Node {
int data;
struct Node *next;
};
int main(void) {
freopen("./in.txt", "r", stdin);
struct Node *head, *p, *q, *t;
int i, n, a;
scanf("%d", &n);
head = NULL;
//头指针为空
for (i = 1; i <= n; ++i) {
scanf("%d", &a);
//动态申请一个空间,用来存放一个结点,并用临时指针p指向这个结点
p = (struct Node*) malloc(sizeof(struct Node));
p->data = a;
//将数据存储到当前节结点的data域中
p->next = NULL;
//当前节点的下一个结点为空
if (head == NULL)
head = p; //如果这是第一个创建的结点,则将头指针指向它
else
q->next = p; //如果不是第一个结点,则将上一个的后继指针指向当前的结点
q = p; //***记录当前节点的值(下一个的上一个结点指向)
}
scanf("%d", &a); //读入待插入的数
t = head; //从链表的头开始遍历
while (t != NULL) { //当没有到达尾部前
if (t->next == NULL || t->next->data > a) { //如果当前结点是最后一个结点或者下一个结点的值大于待输入的插入数
p = (struct Node*) malloc(sizeof(struct Node)); //动态申请一个空间,用来存放结点
p->data = a;
p->next = t->next;
t->next = p;
break; //插入完毕
}
t = t->next; //继续下一个结点
}
//输出链表中的所有数
t = head;
while (t != NULL) {
printf("%d ", t->data);
t = t->next;
}
fclose(stdin);
return EXIT_SUCCESS;
}
相关文章推荐
- 把网站链接卖一个好价钱: Text Link Ads 注册网赚攻略
- css import与link的区别
- Oracle创建Database Link的两种方式详解
- Oracle DATABASE LINK(DBLINK)创建与删除方法
- JavaScript link方法入门实例(给字符串加上超链接)
- 在JavaScript中处理字符串之link()方法的使用
- angularjs指令中的compile与link函数详解
- the operation has been canceled due to restrictions in effect on this computer
- ln命令使用
- Solaris pack link
- MySQL:Communications link failure问题
- 原 初学angularJS笔记之Directive
- 在控制台(Console)环境下编译Windows GUI程序
- link与@import
- 魔窗7式之微信一键唤起App内页
- cannot open input file 'xx.cu.obj'
- 命令行下编译简单程序
- eclipse 如何用 link 方式安装 SVN 插件
- 数据流 IPCBITS_HLOSOUT(host)->IPCBITSRTOSIN(VID)
- 关于Visual C++增量链接以及.textbss