zoukankan      html  css  js  c++  java
  • 查找序列元素(链表)

    问题描述 :

    使用带头结点的单链表编程:

    一群学生排成一行,输入一个学号,请确定该学号学生所在的位置。

    输入说明 :

    第一行输入学生信息:

    第一个整数n(0<=n<=100),表示共有n个学生,其后有n个整数,表示n个学生的学号

    第二行及以后各行,每行输入一个整数,表示要查找的学生学号。

    输出说明 :

    对于每个要查找的学号,输出一个整数,表示要查找学生的位置。如果共有n个学生,则位置序号为1~n。

    如果学生不存在,输出“no”,不包括双引号。

    每个输出占一行。

    输入范例 :

    12 50 51 52 53 54 49 4 5 10 11 9 12
    50
    11
    12
    3

    输出范例 :

    1
    10
    12
    no

    #include <iostream>
    using namespace std;
    typedef struct Student
    {
        int data;
        struct Student* next;
    }Stu;
    int findIndexOfVal(Stu* head,int val)
    {
        int i = 1;
        Stu* p = head->next;
        while (p)
        {
            if (p->data == val)
                return  i;
            i++;
            p = p->next;
        }
        return -1;
    }
    int main()
    {
        int n, i;
        Stu* head,*p,*q;
        head = new Stu;
        head->data = 0;
        head->next = NULL;
        p = head;
        cin >> n;
        for (i = 0; i < n; i++)
        {
            q = new Stu;
            cin >> q->data;
            q->next = NULL;
            p->next = q;
            p = p->next;
        }
        while (cin >> n)
        {
            int res = findIndexOfVal(head,n);
            if (res == -1)cout << "no" << endl;
            else cout << res << endl;
        }
    }
  • 相关阅读:
    FastDFS
    目前存在的问题
    MongoDB JAVA开发
    [Linux] Hexo 搭建个人博客
    新目标
    1年之后的拿高工资的资本,Java线程
    Oracle在VMware虚拟机安装的配置
    adb命令关闭打开手机wifi开关
    ADB命令横竖屏切换、关闭打开wifi
    使用adb命令提取安卓手机中安装的apk
  • 原文地址:https://www.cnblogs.com/lancelee98/p/13190200.html
Copyright © 2011-2022 走看看