C语言:1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。 紧急求 速度

发布网友 发布时间:2022-04-23 18:19

我来回答

2个回答

热心网友 时间:2023-10-12 16:50

1、

#include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
typedef struct Lnode{
int *data;
int length;
int maxsize;
struct Lnode *next;
}List;
void creatList(List &L,int n)
{
int count = 0;
L.data = (int*)malloc(sizeof(int)*n);
if (!L.data)
cout << "申请空间失败";
cout << "input the numbers ";
for (int i = 0; i < n; i++)
{
cin >> L.data[i];
count++;
}
L.length = count;
L.maxsize = n;
}
void Insert(List &L, int i, int data)
{
int j;
if (i >= L.maxsize)
cout << "插入位置不对";
if (L.length+1 >= L.maxsize)
{
L.data = (int *)realloc(L.data, L.maxsize + sizeof(int)*L.maxsize);
L.maxsize += L.maxsize;
}
for ( j = L.length-1 ; j >= i - 1; j--)
{
L.data[j + 1] = L.data[j];
}
L.data[j+1] = data;
L.length += 1;
}
void print(List L)
{
cout << "output the List:";
for (int i = 0; i < L.length; i++)
{
cout << L.data[i]<<" ";
}
cout << endl;
}
void main()
{
int m,number,locate;
List L;
cout << "please input the length of List :";
cin >> m;
creatList(L,m);
print(L);
cout << "please input the location  and the number you want:";
cin >>locate >> number;
Insert(L, locate, number);
print(L);
system("pause");

}

热心网友 时间:2023-10-12 16:50

我会写第二个,好像有点长追问可以告诉我吗?

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com