fork download
  1. #include <stdio.h>
  2.  
  3. #define MAXSIZE 100
  4.  
  5. typedef struct
  6. {
  7. int elem[MAXSIZE];
  8. int last;
  9. } SqList;
  10.  
  11. /* 顺序表插入 */
  12. SqList insert(SqList v, int i, int x)
  13. {
  14. int k;
  15.  
  16. if (i < 1 || i > v.last + 1)
  17. {
  18. printf("插入位置错误!\n");
  19. }
  20. else if (v.last >= MAXSIZE - 1)
  21. {
  22. printf("线性表已满!\n");
  23. }
  24. else
  25. {
  26. for (k = v.last; k >= i - 1; k--)
  27. {
  28. v.elem[k + 1] = v.elem[k];
  29. }
  30.  
  31. v.elem[i - 1] = x;
  32. v.last++;
  33. }
  34.  
  35. return v;
  36. }
  37.  
  38. int main()
  39. {
  40. SqList v;
  41. int i, j, x;
  42.  
  43. v.last = 6;
  44.  
  45. printf("原线性表为:\n");
  46.  
  47. for (i = 0; i < v.last; i++)
  48. {
  49. printf("%d\t", v.elem[i]);
  50. }
  51.  
  52. printf("\n请输入插入位置:");
  53. scanf("%d", &j);
  54.  
  55. printf("请输入插入元素:");
  56. scanf("%d", &x);
  57.  
  58. v = insert(v, j, x);
  59.  
  60. printf("插入后的线性表为:\n");
  61.  
  62. for (i = 0; i < v.last; i++)
  63. {
  64. printf("%d\t", v.elem[i]);
  65. }
  66.  
  67. printf("\n");
  68.  
  69. return 0;
  70. }
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
原线性表为:
2	32764	-1125733856	32764	3	0	
请输入插入位置:请输入插入元素:插入位置错误!
插入后的线性表为:
2	32764	-1125733856	32764	3	0