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;
        }
    }
  • 相关阅读:
    .NET开源系统
    DEDEcms二次开发数据表参数
    dede系统的pagebreak文章页面分页数量控制方法
    窗口最小化到托盘
    SEO项目各个阶段的工作分配
    scrollTop
    去除行内块间的间距
    jquery mobile
    nodejs学习
    cancelAnimationFrame无效
  • 原文地址:https://www.cnblogs.com/lancelee98/p/13190200.html
Copyright © 2011-2022 走看看