高分求数据结构题目答案

来源:百度知道 编辑:UC知道 时间:2024/05/17 23:01:43
1.设有2个集合。A={2,6,3,5,7,1}, B={3,4,6,2,9,10,12} 求C=A交B={2,6,3,1} 输出C数组,
1),int judgement(int a[],int n,int x,)问X是否存在数组中?
2),void intersection(int a[],int n,int b[],int m,int c[],int &k),
3),void printarray(int a[],int n)输出数组的n个元素,

2,设有一个有序序列,从键盘输入一个数,问是否在序列中.如果在输出yes,否则,将它插入到序列中使它仍然有序,并输出排序后的序列,
动态数组定义为:
Typedef struct Array{
int *elem 存放数组元数;
int length 存放数组元数个数;
}Array
1) int judgement(Array a,int x)
2) void insertelem (Array @a, int x)
3) void printarray (Array a)

3设有一有序序列,从键盘输入一个数,问是否在序列中.如果在输出yes,否则^^^^^^^删除它.并输出删除后的序列.
4,从键盘输入一组任意数据,建立一带头结点的有序链表,并输出该链表,使输出的结果是有序的。
链表的结构定义为:
typedef struct Node{
int data; 存放数组元素;
struct Node *next;存放数组元素个数;
}*Link;
1),int initLink(Link &L) 初始化带表头结点的链表L;
2),void

#include <iostream>
using namespace std;

int judgement(int a[],int n,int x)
{
for(int i = 0; i < n ; i++)
{
if(a[i] == x)
return 1;
}
return 0;
}

void printarray(int a[], int n)
{
for(int i = 0; i < n ;i++)
cout << a[i] << " " ;
cout << endl;
}

void intersection(int a[], int n, int b[],int m,int c[], int &k)
{
int tf = 0,j = 0;
for(int i = 0; i < n; i++)
{
tf = judgement(b,m,a[i]);
if(tf)
c[j++] = a[i];
}
k = j;
}

void main()
{
int a[] = {2,6,3,5,7,1};
int b[] = {3,4,6,2,9,10,12};
int k;
int c[6];
intersection(a,6,b,7,c,k);
printarray(c,k);
}
/////////////////////////////////////////
#include <iostream>
using namespace std;

typedef struct Array
{
int *elem;
in