链表中元素的增加与删减
来源:互联网 发布:mysql 查询替换字符串 编辑:程序博客网 时间:2024/05/02 01:40
//Geeksun 2017.11.12
//该链表未用函数实现,见谅。
#include <stdio.h>
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
#include <stdlib.h>
struct node
{
int data;
struct node *next;
};
int main()
{
struct node *p,*q,*t,*head,*temp;
int n,a,i,count,count1 = 0;
printf("请输入链表中元素的个数:");
scanf("%d",&n);
head = NULL;
printf("请输入:");
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;
}
printf("本链表暂时只有插入元素与删减元素的功能\n");
printf("插入请输入1 删减请输入2\n");
scanf("%d",&count);
if(count == 1)
{
int flag = 1;
printf("请输入要插入的值:");
scanf("%d",&a);
if(head->data >= a)
{
p = (struct node*)malloc(sizeof(struct node));
p->data = a;
p->next = head;
head = p;
flag = 0;
}
if(flag)
{
t = head;
while(t != NULL)
{
if(t->next == NULL)
{
p = (struct node*)malloc(sizeof(struct node));
p->data = a;
t->next = p;
p->next = NULL;
break;
}
if(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;
}
}
}
if(count == 2)
{
aa:
printf("请输入要删减的值:");
scanf("%d",&a);
t = head;
while(t->next != NULL)
{
if(head->data == a)
{
head = t->next;
count1++;
break;
}
if(t->next->data == a)
{
t->next = t->next->next;
count1++;
break;
}
t = t->next;
}
if(count1 == 0)
{
printf("输入错误\n");
goto aa;
}
}
t = head;
while(t!=NULL)
{
printf("%d ",t->data);
t = t->next;
}
p = head;
while(p != NULL)
{
temp = p;
p = p->next;
free(temp);
}
return 0;
}
{
struct node *p,*q,*t,*head,*temp;
int n,a,i,count,count1 = 0;
printf("请输入链表中元素的个数:");
scanf("%d",&n);
head = NULL;
printf("请输入:");
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;
}
printf("本链表暂时只有插入元素与删减元素的功能\n");
printf("插入请输入1 删减请输入2\n");
scanf("%d",&count);
if(count == 1)
{
int flag = 1;
printf("请输入要插入的值:");
scanf("%d",&a);
if(head->data >= a)
{
p = (struct node*)malloc(sizeof(struct node));
p->data = a;
p->next = head;
head = p;
flag = 0;
}
if(flag)
{
t = head;
while(t != NULL)
{
if(t->next == NULL)
{
p = (struct node*)malloc(sizeof(struct node));
p->data = a;
t->next = p;
p->next = NULL;
break;
}
if(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;
}
}
}
if(count == 2)
{
aa:
printf("请输入要删减的值:");
scanf("%d",&a);
t = head;
while(t->next != NULL)
{
if(head->data == a)
{
head = t->next;
count1++;
break;
}
if(t->next->data == a)
{
t->next = t->next->next;
count1++;
break;
}
t = t->next;
}
if(count1 == 0)
{
printf("输入错误\n");
goto aa;
}
}
t = head;
while(t!=NULL)
{
printf("%d ",t->data);
t = t->next;
}
p = head;
while(p != NULL)
{
temp = p;
p = p->next;
free(temp);
}
return 0;
}
阅读全文
1 0
- 链表中元素的增加与删减
- 用NetBeans实现表格的增加、删减、修改功能。
- 18、元素节点的删除与增加
- MySQL对表的修改(增加或删减列,创建或取消索引等)
- jquery增加与删除元素
- 数组中数据的删减
- 动态增加表单的元素
- unity增加随机的元素
- Firefox 4.0删减与确定功能一览
- itertools模块知识与整理删减【Python】
- win7右键新建菜单删减与排序
- PHP 增加与删除数组元素
- html5增加与移除元素总结
- 创建最大堆,对指定位置元素进行删减
- 动态删减选项卡的效果示例
- JAVA进阶ArrayList的节点删减
- hdu 5536 01字典树的删减
- 为什么应尽量从列表的尾部进行元素的增加与删除操作?
- hdu-1039-Easier Done Than Said?
- 初学Maven整理的别人的笔记用于查阅
- 计算1+3+5+......+(2*n+1)的和
- 汇编JCC笔记
- 打印杨辉三角
- 链表中元素的增加与删减
- 深入了解 Java 之虚拟机内存
- vmvare下 centos重启后网络无连接
- hdu-1702-ACboy needs your help again!
- 有限状态机实现-状态机介绍
- Educational Codeforces Round 32 G. Xor-MST
- 欢迎使用CSDN-markdown编辑器
- 今夕何夕
- 解析c++中函数重载的实现原理