zoukankan      html  css  js  c++  java
  • 线性表的建立及运算

    1、建立一个顺序表,输入n个元素并输出;
    2、查找线性表中的最大元素并输出;
    3、在线性表的第i个元素前插入一个正整数x;
    4、删除线性表中的第j个元素;
    5、将线性表中的元素按升序排列;
    6、将线性表中的元素就地逆序(只允许用一个暂存单元);
    #include
    #include
    using namespace std;
    #define m 100
    int main()
    {
    void print(int n, int
    s);
    void searchmax(int n, ints);
    void insert(int n, int
    s);
    void del(int n, ints);
    void sorth(int n, int
    s);
    void nosort(int n, ints);
    int n, i;
    int s[m];
    cin >> n;
    for (i = 0; i <n; i++)
    cin >> s[i];
    print(n, s);
    searchmax(n, s);
    insert(n, s);
    del(n, s);
    sorth(n, s);
    nosort(n, s);
    }
    void print(int n, int
    s)
    {
    int i;
    printf("(1).输出n个元素:");
    for (i = 0; i < n; i++)
    cout << s[i] << " “;
    cout << endl;
    }
    void searchmax(int n, ints)
    {
    cout << “(2).线性表中的最大元素为:”;
    int temp, max = 0, i;
    for (i = 0; i < n; i++)
    if (s[i] > max)
    max = s[i];
    cout << max << endl; #include
    #include
    using namespace std;
    #define m 100
    int main()
    {
    void print(int n, int
    s);
    void searchmax(int n, ints);
    void insert(int n, int
    s);
    void del(int n, ints);
    void sorth(int n, int
    s);
    void nosort(int n, ints);
    int n, i;
    int s[m];
    cin >> n;
    for (i = 0; i <n; i++)
    cin >> s[i];
    print(n, s);
    searchmax(n, s);
    insert(n, s);
    del(n, s);
    sorth(n, s);
    nosort(n, s);
    }
    void print(int n, int
    s)
    {
    int i;
    printf(”(1).输出n个元素:");
    for (i = 0; i < n; i++)
    cout << s[i] << " ";
    cout << endl;
    }
    void searchmax(int n, ints)
    {
    cout << “(2).线性表中的最大元素为:”;
    int temp, max = 0, i;
    for (i = 0; i < n; i++)
    if (s[i] > max)
    max = s[i];
    cout << max << endl;
    }
    void insert(int n, int
    s)
    {
    int i, k, j, n1;
    int b[m];
    for (i = 0; i < n; i++)
    b[i] = s[i];
    n1 = n;
    cout << “(3).在线性表第i个元素前插入一个正整数k:”;
    cin >> i >> k;
    cout << " ";
    if (i<1 || i>n)
    printf(“没有找到位置可以插入。”);
    else
    for (j = 0; j < n; j++)
    {
    if (j + 1 == i)
    {
    for (; n >= i - 1; n–)
    b[n + 1] = b[n];
    b[i - 1] = k;
    for (j = 0; j <= n1; j++)
    cout << b[j] << " ";
    cout << endl;
    break;
    }
    }
    }
    void del(int n, ints)
    {
    int j, i;
    int b[m];
    for (i = 0; i < n; i++)
    b[i] = s[i];
    cout << “(4.)删除线性表中的第j个元素:”;
    cin >> j;
    cout << " ";
    for (; j < n; j++)
    b[j - 1] = b[j];
    for (j = 0; j < n - 1; j++)
    cout << b[j] << " ";
    cout << endl;
    }
    void sorth(int n, int
    s)
    {
    int j, i, k, temp, t;
    int b[m];
    for (i = 0; i < n; i++)
    b[i] = s[i];
    for (j = 0; j < n; j++)
    {t = j;
    for (k = j + 1; k < n; k++)
    if (b[k] > b[t])
    t = k;
    temp = b[j]; b[j] = b[t]; b[t] = temp;
    }
    cout << “(5)排序后的结果为:”;
    for (j = 0; j < n; j++)
    cout << b[j] << " “;
    cout << endl;
    }
    void nosort(int n, int*s)
    {
    cout << “(6)线性表的逆序结果为:”;
    int i, temp, mid,k2;
    k2 = n;
    mid =n/2;
    n = n - 1;
    for(i=0;i<mid;i++,n–)
    {
    temp = s[i];
    s[i] = s[n];
    s[n] = temp;
    }
    for (i = 0; i < k2; i++)
    cout << s[i]<<” ";
    }

    }
    void insert(int n, ints)
    {
    int i, k, j, n1;
    int b[m];
    for (i = 0; i < n; i++)
    b[i] = s[i];
    n1 = n;
    cout << “(3).在线性表第i个元素前插入一个正整数k:”;
    cin >> i >> k;
    cout << " ";
    if (i<1 || i>n)
    printf(“没有找到位置可以插入。”);
    else
    for (j = 0; j < n; j++)
    {
    if (j + 1 == i)
    {
    for (; n >= i - 1; n–)
    b[n + 1] = b[n];
    b[i - 1] = k;
    for (j = 0; j <= n1; j++)
    cout << b[j] << " ";
    cout << endl;
    break;
    }
    }
    }
    void del(int n, int
    s)
    {
    int j, i;
    int b[m];
    for (i = 0; i < n; i++)
    b[i] = s[i];
    cout << “(4.)删除线性表中的第j个元素:”;
    cin >> j;
    cout << " ";
    for (; j < n; j++)
    b[j - 1] = b[j];
    for (j = 0; j < n - 1; j++)
    cout << b[j] << " “;
    cout << endl;
    }
    void sorth(int n, ints)
    {
    int j, i, k, temp, t;
    int b[m];
    for (i = 0; i < n; i++)
    b[i] = s[i];
    for (j = 0; j < n; j++)
    {t = j;
    for (k = j + 1; k < n; k++)
    if (b[k] > b[t])
    t = k;
    temp = b[j]; b[j] = b[t]; b[t] = temp;
    }
    cout << “(5)排序后的结果为:”;
    for (j = 0; j < n; j++)
    cout << b[j] << " ";
    cout << endl;
    }
    void nosort(int n, int
    s)
    {
    cout << “(6)线性表的逆序结果为:”;
    int i, temp, mid,k2;
    k2 = n;
    mid =n/2;
    n = n - 1;
    for(i=0;i<mid;i++,n–)
    {
    temp = s[i];
    s[i] = s[n];
    s[n] = temp;
    }
    for (i = 0; i < k2; i++)
    cout << s[i]<<” ";
    }

    永远热泪盈眶。
  • 相关阅读:
    JAVA 高级特性 JDBC
    C3P0 连接池
    JAVA WEB Servlet
    JAVAWEB JSP
    sed 命令
    shell 简单脚本编程
    从首页问答标题到问答详情页
    首页列表显示全部问答,完成问答详情页布局
    制作首页的显示列表
    发布功能完成
  • 原文地址:https://www.cnblogs.com/2021WGF/p/14253265.html
Copyright © 2011-2022 走看看