Мне нужно написать функцию для изменения данной строки только с использованием структуры данных Stack.Функция обратного преобразования строк с использованием структуры данных стека в python
ответ
Возможно, это программа, которую вы хотели. Эта функция будет отменять всю строку, а не слово за словом.
class Stack:
def __init__(self):
self.items = []
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def peek(self):
return self.items[-1]
def isEmpty(self):
return len(self.items) == 0
def reverse(text):
s = Stack()
for c in text:
s.push(c)
revText = ""
while not s.isEmpty():
revText += s.pop()
return revText
#test code
print(reverse("abcde"))
Было бы лучше указать пример кода или сообщить библиотеке, которую вы хотите использовать для создания стека. Кстати, алгоритмически вы можете просто:
- Прочитайте строку по одному символу за раз и положите ее в свой стек.
- Когда строка полностью прочитана, поместите стек до пустого.
Предыдущий код должен работать, но вы понимаете, что это один или более вообще, что такое стек?
Стек представляет собой структуру FILO (первый в последний выход), если нажать три элемента А, В и С в этом порядке, стек будет: [A, B, C] ->
Тогда, первый элемент pop будет C. Итак, вы домашнее задание очень просто. Вы нажимаете все символы своей строки и выталкиваете их.
string str = "hello world!"
// create a new stack
// push for each char in str
// -> stack = [!, d, l, o, r, w, , o, l, l, e, h]
// and pop all char
// it's done
Это anwser многое объяснить, как стек работает так, для кода, который вы можете взять предыдущую или попробовать самостоятельно. Это легкая, но хорошая тренировка.
Вы хотите отменить слова или почитать всю строку? Простой поиск в Google даст вам несколько решений. Никто из них не работал на вас? – Rohit
Похоже Домашние задания – Jens
Это интересная задача. У вас есть вопрос? – TigerhawkT3