问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言删除栈中重复元素,用数组实现,不用指针

发布网友 发布时间:2022-04-26 10:13

我来回答

2个回答

热心网友 时间:2022-06-27 05:48

思路是可行的。试着实现一下吧。应该有不了太多代码。基本上就是两层循环就行了。

此外,C语言中数组和指针的关系非常密切,用数组实现,和不用指针没有直接关系。只是语法的不同和编程习惯的不同而已。
编程序多了就能体会。

===================================================
怎么会不对呢?最简单的调试方法:你把每一步的内容都用printf打印出来,看看是哪一步错了。

===================================================
有重复的跳过,换句话说,就是发现当前元素是重复的就不入栈。所以你不用删除或者替换重复的元素。
在碰到一个元素的时候,检查是否它是否已经在栈上了,如果在,就不入栈。不需要替换为空格,或者是入栈之后再删除。那样很麻烦,而且浪费时间。

热心网友 时间:2022-06-27 05:49

//可以采纳如下代码;

#include<stdio.h>
#include<malloc.h>
#define N 10
typedef struct
{
int *base;
int *top;
int stacksize;
}SqStack;
void InitStack(SqStack *S)
{
S->base=(int *)malloc(N*sizeof(int));
if(!S->base)exit(1);
S->top=S->base;
S->stacksize=N;
}
void Push(SqStack *S,int e)
{
if(S->top-S->base>=S->stacksize)
{
S->base=(int *)realloc(S->base,(S->stacksize+N)*sizeof(int));
if(!S->base)exit(1);
S->top=S->base+S->stacksize;
S->stacksize+=N;
}
*S->top++=e;
}
int Pop(SqStack *S)
{
int e;
if(S->top==S->base)return 0;
e=*--S->top;
return e;
}
int main()
{
int a[N],i,j,e=0;
SqStack b;
InitStack(&b);
printf("Please input numbers :\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
i=0;
while(i<N)
{
j=i+1;
while(j<N&&a[i]!=a[j++]);
if(j==N)Push(&b,a[i]);
i++;
}
printf("New :\n");
while(b.base!=b.top)
{
e=Pop(&b);
printf("%3d",e);
}
getch();
return 1;
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
水笔在手上画画会不会被衣服搽掉下来 老人每天大便次数很多量不多也不稀,每天还会拉三四次水应经三个月了... 从大连飞机场怎么去大连经济开发区5彩城K区的大连金港大酒店 除了打 ... 请问从大连周水子国际机场到经济技术开发区怎么走最省钱? 中国古代名刀总录中国古代十大名刀 怎样把qq安装到iphone里面 苏科大什么梗 苏科大叫什么名字 lol苏科大是苏州科技大学的吗 lol苏州科技大学为什么这么厉害 优尔精医用降温贴是不是保健品? 数据结构的课程设计!!如何把这里的栈结构用链队列替换? 怎样将迷宫求解的栈替换成队列? Java代码的执行顺序是怎么样的呢? 汽车在启动的时候会有电流声,滋滋的,在车内听不到 汽车的发电机有滋滋响的声音是怎么回事? 踏板摩托车电启动时有和电流声一样的滋滋声,声音很小,是怎么回事啊 汽车开启大灯后有滋滋电流声 速腾自动挡1.6接通电源后变速箱插头滋滋的电流声,启动车后就没有啦 宝马x1怎么通电不启动有滋滋的电流声? 车有滋滋的电流声,驾驶室里,怎么回事? 速腾车通电进气格栅和中控有蜂鸣的电流声 车辆通电后,发动机仓传来滋滋电流声是怎么回 新买的汽车发动机有滋滋电流声什么原因 汽车不能打火有滋滋的电流声音是什么造成的呢 打开电源后车外部有滋滋的声音 车辆通电后,发动机仓传来滋滋电流声是怎么回事 汽车里有滋滋的电流声是怎么回事 为什么我的车一通电就有电流声 车子通电后有吱吱响的电流声 我的车电流吱吱响是怎么回事啊 怎么输出栈的内容,并且栈里的内容不变,就是栈里仍和输出之前一样 windows 7中内存保护机制不包括哪项技术? 菜鸟:刚学java,堆区,栈区,静态区,代码区,晕了!!! 栈是遵循先进后出原则,那指针是用来干嘛的? 用C语言怎么写输出栈中元素,并打印栈中元素 如果用一个栈代替9.2节中的拓扑排序的算法,是否得到不同的排序?为什么... 石家庄幕墙设计哪家最专业?地址是什么? unix变成中exec的问题 深圳玻璃幕墙承包公司哪家比较好? 数据结构 关于栈top指针位置问题 幕墙公司排名,幕墙设计公司哪家好? Android中,FragmentTransaction类的replace()方法的作用是什么? 建筑幕墙设计做得最好的公司? 谁给我解释下,什么是在栈上分配内存,与在堆上分配内存 成都幕墙设计公司推荐 C语言求指导 请问幕墙设计公司哪家好 .equals的问题 广州幕墙设计公司哪家最好? 海南哪有技术很强的建筑幕墙设计顾问公司及幕墙工程公司?