博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
查找元素
阅读量:800 次
发布时间:2019-03-26

本文共 1213 字,大约阅读时间需要 4 分钟。

Description

在n个整数中,查找m出现的位序,如果出现多次,则依次输出。
Input
输入包括两行
第一行:n(0 < n <= 10000)和n个整数
第二行:m
Output
输出m在n个整数中出现的位序,如果出现多次则均输出。如果没有找到,输出Not Found。
Sample Input
8 3 1 23 8 3 10 7 3
3
Sample Output
1 5 8

#include 
#include
const int maxsize = 12000;typedef struct seqtack{
int *data; int top;}Seq;int empty(Seq s){
if(s.top == 0){
return 1; } return 0;}Seq init(Seq s){
s.data = (int*)malloc(maxsize*sizeof(int)); if(!s.data){
printf("初始化失败"); exit(0); } s.top = 0; return s;}Seq push(Seq s,int x){
if(s.top==maxsize-1){
return s; } else{
s.data[s.top] = x; s.top++; return s; } }void display(Seq s,int k){
int i = 0; if(empty(s)){
printf("栈空\n"); exit(0); } else{
int num = 0; while(num < s.top) {
if(s.data[num++] == k) {
i = 1; printf("%d ",num); } } } if(i == 0) {
printf("Not Found"); }}int main(void){
int n,k; Seq s; s = init(s); scanf("%d",&n); for(int i = 0;i < n;i++) {
scanf("%d",&k); s = push(s,k); } scanf("%d",&k); display(s,k); return 0;}

转载地址:http://nhhyk.baihongyu.com/

你可能感兴趣的文章