Wangdao Postgraduate Entrance Examination Data Structure - Sequence Table

 08 Basic concepts of linear tables

 If the modification results of parameters need to be "brought back", use reference type parameters.

Definition of sequence table:

Sequential storage, chain storage

sizeof(int)、sizeof(MyStruct)

Extension of sequence table 

 Although the size changes, it takes a lot of time

Make the code robust: Check the legality of data operations, such as length and whether the element position is out of bounds, and then give feedback

The time complexity is O(n) 

topic:

Answer:ACBD

Big topic: P18

Question 10

//10、移位数组

void Reverse(int R[], int from, int to) {

	for (int i = from; i <= (from + to) / 2; i++) {
		swap(R[from++], R[to--]);
	}

}

void Converse(int R[], int n, int p) {

	Reverse(R, 0, p - 1);
	Reverse(R, p, n - 1);
	Reverse(R, 0, n - 1);

}

void printArr(int arr[], int n) {
	for (int i = 0; i < n; i++)
		cout << arr[i] << "  ";
}

int main() {

	int arr1[] = { 0,1,2,3,4,5,6 };
	int arr2[] = { 0,1,2,3,4,5,6,7 };

	int len1 = sizeof(arr1) / sizeof(int);
	int len2 = sizeof(arr2) / sizeof(int);

	printArr(arr1, len1);
	cout << endl;
	Converse(arr1, len1, 3);
	printArr(arr1, len1);

}

 Question 13

#include<iostream>
using namespace std;
#pragma warning(disable:4996)

void printArr(int arr[], int n) {
	for (int i = 0; i < n; i++)
		cout << arr[i] << "  ";
}

int findMinNotExist(int arr[], int n) {

	int minNum = 0;
	bool* flagArr = (bool*)malloc(sizeof(bool) * n);
	for (int i = 0; i < n; i++)
		flagArr[i] = false;
	for (int j = 0; j < n; j++) {
		if (arr[j] > 0 && arr[j] <= n) {
			flagArr[arr[j] - 1] = true;
		}
	}
	for (int k = 0; k < n; k++) {
		if (flagArr[k] == false) {
			free(flagArr);
			flagArr = NULL;
			minNum = k+1;
			return minNum;
		}
	}
	free(flagArr);
	flagArr = NULL;
	return minNum + 1;
}

int main() {

	int arr1[] = { 0,1,2,6 };
	int arr2[] = { 0,1,2,3,4,5,6,7 };

	int len1 = sizeof(arr1) / sizeof(int);
	int len2 = sizeof(arr2) / sizeof(int);

	int min1=findMinNotExist(arr1, len1);
	int min2 = findMinNotExist(arr2, len2);

}

Guess you like

Origin blog.csdn.net/Tandy12356_/article/details/131573483