//
// main.m
// node
//
// Created by tk on 16/8/28.
// Copyright © 2016年 Company. All rights reserved.
//
#import <Foundation/Foundation.h>
#include <stdio.h>
#include <stdlib.h>
//定义结构体
struct node {
int data;
struct node *next;
};
/*链表*/
void nodeTest() {
struct node *head, *p, *q, *t;
int i, n, a;
//设置头指针为空
head = NULL;
//初试化当前指针
q = NULL;
//输入链表的数量
scanf("%d", &n);
//输入
for (i = 0; i < n; i++) {
scanf("%d", &a);
//申请存储空间
p = (struct node *)malloc(sizeof(struct node));
p->data = a;
p->next = NULL;
if (head == NULL) {
head = p;
}else {
q->next = p;
}
q = p;//指针q指向当前节点
//至此,一个节点的数据就完成了
}
//输出链表
t = head;
while (t != NULL) {
printf("%d ", t->data);
t = t->next;//指向下一个节点
}
printf("读入需要插入的数据:");
scanf("%d", &a);
t = head;
while (t != NULL) {
if (t->next == NULL || t->next->data > a)
{
struct node *d = (struct node *)malloc(sizeof(struct node));
d->data = a;
d->next = t->next;
t->next = d;
break;
}
t = t->next;
}
t = head;
while (t != NULL) {
printf("%d ", t->data);
t = t->next;
}
getchar();
getchar();
return;
}
int main(int argc, const char * argv[]) {
nodeTest();
return 0;
}
创建链表并插入数据(有序)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 问题:已知一个有序循环链表,插入一个结点值为num的结点,使循环链表依然有序。 解法: 如果链表为空 1.直接插入...