[Estrutura de dados]. Tabela de sequência L com comprimento n, escrever um algoritmo com complexidade de tempo de O (n) e complexidade de espaço de O (1), este algoritmo exclui todos os elementos de dados com valor x na tabela linear

#define _CRT_SECURE_NO_WARNINGS 1
#include <iostream>
using namespace std;
#define Maxsize 100
typedef struct{
    
    
	int data[Maxsize];
	int Length;
}SqList;
bool delete_x(SqList &L, int x)
{
    
    
	int i = 0, k = 0;
	while (i<L.Length){
    
    
		if (L.data[i] == x)
			k++;
		else
			L.data[i - k] = L.data[i];
		i++;
	}
	L.Length = L.Length - k;
	return true;
}
 
int main()
{
    
    
	SqList li;
	cout << "输入数组长度:";
	cin >> li.Length;
	cout << "-----输入数组--------" << endl;
	for (int i = 0; i<li.Length; i++)
		cin >> li.data[i];
	delete_x(li, 3);
	for (int i = 0; i<li.Length; i++)
		cout << li.data[i] << " ";
	cout << endl;
}

Acho que você gosta

Origin blog.csdn.net/weixin_43762735/article/details/108630847
Recomendado
Clasificación