zoukankan      html  css  js  c++  java
  • 【数据结构与算法】第二章练习题

    1、社顺序表用数组A[]表示,表中元素存储在数组中下标0~m+n-1的范围内,前m个元素递增有序,后n个元素递增有序,设计算法使得顺序表有序

    1)算法基本思想

    2)算法描述

    3)时间和空间复杂度

    答:

     1 #include <stdio.h>
     2 
     3 
     4 void insertElem(int A[],int m,int n) {
     5 
     6     int i, j;
     7     int temp;
     8     for (i = m; i < m + n;i++) {
     9         temp = A[i];
    10         for (j = i - 1; j >= 0 && temp < A[j];--j) {
    11             A[j + 1] = A[j];//元素后移,以便腾出一个位置插入temp
    12         }
    13         A[j + 1] = temp;//插入temp,由于for循环后j前多了一位,因此在j+1除插入
    14     }
    15 }
    16 
    17 void showElem(int A[],int n) {
    18     for (int i = 0; i < n;i++) {
    19         printf("%d:=%d
    ", i, A[i]);
    20     }
    21 }
    22 void main() {
    23     int A[] = { 1,3 ,5,2,4 };
    24     showElem(A, 5);
    25     insertElem(A, 3, 2);
    26     showElem(A, 5);
    27 }
  • 相关阅读:
    Picture
    wolf and rabbit
    十进制转换为二进制(一直不会算的)
    各种排序
    折线分割平面
    字母数
    1001
    Primes
    大数的减法神秘数
    转: Windows Internet WinINet 学习笔记(2)
  • 原文地址:https://www.cnblogs.com/dream-to-pku/p/11436558.html
Copyright © 2011-2022 走看看