我正在读的C++书描述了一种算法,说它是Bubblesort,但我找不到一个像它一样的bubblesort变体。我知道区别很小,但是它和普通的冒泡排序一样有效吗?
BubbleSort(int A[], int length)
for (j=0; j < length-1; j++)
for (i=j+1; i < length; i++)
if (A[i] < A[j])
Swap()
基本上,它不是比较两个相邻的值,而是将第一个A与每个条目进行比较,在下一遍中,它将A1与其余条目进行比较,然后是A2,依此类推。
它真的只是一个常规的冒泡服务吗,它的
我和一个朋友争论了下面两个算法的真实泡沫类型,关于哪个更好,没有提到哪个是我的,我只想听听你对这两个算法的回答(用c++写的)
1-哪一个是真正的冒泡排序?
2-哪个更好?
以下是两种算法:
// Number one :
void BubbleSort(int Arr[], int size)
{ for (int i=0;i<size-1;i++)
for (int j=i+1;j<size;j++)
if (Arr[i]>Arr[j])
{ int temp = Arr[i];
我正在练习Java,可以在int[]数组上进行冒泡排序。我想看看我是否可以为自己做一个更难的例子,所以我做了一个随机长度的ArrayList,每个元素中都有随机数。
问题是,当执行冒泡排序时,有时在调用bubbleSort2之后不会打印任何内容。由于某些原因,我不能在bubbleSort2方法中使用foreach循环。
另外,如果我使用List和ArrayList可以的话,请告诉我。
import java.util.ArrayList;
import java.util.List;
public class BubbleSort
{
public static void main
我想看看是否可以转换一个BubbleSort函数,例如:
def BubbleSort(l):
for i in range(len(l)-1):
for j in range(len(l)-1-i):
if (l[j]>l[j+1]):
l[j],l[j+1]=l[j+1],l[j]
return l
一字一句的理解,也许类似于:
def BubbleSort(l):
return [something_goes_here for i in range(len(l)-1) for j in
我在python中有3种不同的冒泡排序方法,代码- 链接
我正在使用测试他们的性能。
从产出中:
Time taken[bubbleSort]: list size 1000 --> 0.0876331 seconds
Time taken[bubbleSort1]: list size 1000 --> 0.0575149 seconds
Time taken[bubbleSort2]: list size 1000 --> 0.000144 seconds
Time taken[bubbleSort]: list size 3000 --> 0.8421631
下面的代码是用c++编写的,在这种情况下,算法可以工作。我知道c++,不明白我在第二次考试中做错了什么。
#include <iostream>
using namespace std;
void bubbleSort(int numbers[], int size) {
for (int i = 0; i<size;i++) {
for (int j=0; j<size;j++) {
if (numbers[j] > numbers[j+1]) {
swap(numbers[j]
所以我的BubbleSort没有按正确的顺序打印数组的元素。在本例中,它打印出:4513。
我认为我写的程序是正确的,但我完全不知道该怎么做,所有的建议都很感谢,谢谢!
public class BubbleSort {
public void Print(){
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] BubbleSort = {1, 5, 4, 3};
int l
该算法对除第一个数字以外的所有数字进行排序,并将其设置为最后一个数字。请帮帮我!
def bubbleSort(numbers): # Bubble Sort Algorithm
numbers = list(numbers)
i = 0
j = 0
for i in range(len(numbers)):
for j in range(len(numbers) - i):
if numbers[j] < numbers[j-1]:
temp = numbers[j-
我似乎无法理解这个特殊的算法。它似乎是一个bubblesort,但不是传统意义上的。那是什么?
public static void main(String[] args)
{
double[] a = {0.75, 0.5, 1.0};
sort(a);
for (int i = 0; i < a.length; i++)
System.out.println(a[i]);
}
public static void sort(double[] tal)
{
double p = 0
我正确地把这个伪代码翻译成Java了吗?我特别关注这个排序算法的伪代码中的第3行。
下面是我试图翻译的伪代码:
Sort-Array(A)
for i = 1 to (A.length – 1)
for j = (i + 1) to A.length
if (A[j] > A[i])
// swap A[i] and A[j]
buffer = A[j]
A[j] = A[i]
A[i] = buffer
我对C++和算法都是新手,有没有人能帮我解释一下代码中间(last--;)的用法?我得到的解释是,每次数组传递时,都会增加一个值,所以我们需要在那里放一个last--。我试过删除它,它不会影响任何东西,所以有必要放一个last--;吗?
void bubbleSort(int array[], int size)
{
bool swap;
int temp;
int last = size - 1;
do
{
swap = false;
for (int count = 0; count < last;
为什么这个代码只排序一次?应该是递归的,对吧?我试过几次复制和使用函数,但结果相同。
import Data.Char(digitToInt)
main = do
let input = "01419163381120033253248220038840237221250226353403384381534250000296023836520344822503773249247242360400365033273952140377527413323412014161326326328425834923898000029914282349138510130349100274022
我一直面临着一个非常令人困惑的情况,我写了这个BubbleSort程序,它运行得很好。使用正确的输出:
public class BubbleSortInput {
private static void Sorting(int[] intArray)
{
int i, temp=0;
int n = intArray.length;
for(i=0; i < n - 1; i++)
{
for(int j = 0; j < n-i-1; j++)
{
if(intArray[i]>i
我必须实现一种方法,它使用气泡排序对任何类型的集合进行排序,然后测试它是否真的被排序了,如何使用泛型来完成这个任务呢?
这就是我到目前为止所做的:
public class SortManager {
public <T extends Collection> void bubbleSort(T collection) {
//sort a given collection
}
public <T extends Collection<?>> boolean isSorted(T collection) {
我正在尝试弄清楚如何对2D字符串数组进行冒泡排序。我现在正试图弄清楚为什么我的程序不能对字符串进行排序。我想可能是void交换出了什么问题。我觉得需要把二维数组的一些东西放进去。我不是很确定我刚刚学会了如何创建气泡排序算法。 #include using namespace std;
const int SIZE = 2;
const int ROWS = 2;
void bubbleSort(string values[][SIZE]);
void swap(int &, int &);
int main ()
{
string values[
我今天刚开始学习蟒蛇。这是我的第一个真正的编程语言..。我试着做了个小插曲,但总是失败。我不知道为什么。
#!/usr/bin/python3.2
import random;
i = 0
x = 100
test = []
def createRandom():
global i
global test
while i <= x:
test.extend([random.randrange(1,100)]);
i=i+1;
return test;
de
我必须在链表上而不是数组上实现BubbleSort算法。我对java很陌生,所以我不知道如何将它放入代码中。但我试了一试,我得到的是:
SinglyNode.java
public class SinglyNode
{
public Object names;
public SinglyNode next;
public SinglyNode (Object name1)
{
names = name1;
}
public SinglyNode (Object name2, SinglyNode next1)
{
names = name2;
next = next
因此,我有以下方法
public static <T extends Comparable<? super T>> void bubbleSort( T[] a)
//public static void bubbleSort(Comparable[] a)
{
for(int top = a.length-1; top > 0; top--)
for(int i = 0; i < top; i++)
if(a[i+1].compareTo(a[i]) < 0)
{ T tmp
bubblesort :: (Ord a) => [a] -> [a]
bubblesort (x:y:xs)
| x > y = y : bubblesort (x:xs)
| otherwise = x : bubblesort (y:xs)
bubblesort (x) = (x)
1.我不理解代码的最后一行;我试图注释掉它,但编译器说“Non-exhaustive in function bubblesort",当我试图将它移到代码的第一行时,编译器说”模式匹配是多余的“。它使用圆括号的方式把我搞糊涂了。
2.我尝试将类型声明更改为->
我想知道是否还有其他更好的方法来写这个算法。还可以使用哪些其他数据结构来使其更加简单和有效?
public class BubbleSort {
public static void bubbleSort(int array[]) {
int n = array.length;
int k;
for (int m = n; m >= 0; m--) {
for (int i = 0; i < n - 1; i++) {
k
我正在创建一个程序,它将运行在输入的整数列表中,将它们从最小到最大排序,然后打印出最后一项(最大)、输入的中间项和第一项(最小整数)。
正如您从代码中看到的,我得到了项目的平均值。
"bubbleSort“方法将它们按顺序排列并打印出排序的数组。
有什么建议吗?
代码:
class statistics{
public static void main(String agrs[]){
System.out.println("Enter the number of integers you want to input?");
int
下面我有气泡排序的代码。我想知道怎样才能运行得更高效,循环次数更少。 package bubbleSort;
public class BubbleSort {
public static void main(String[] args) {
// initialize array to sort
int size = 10;
int[] numbers = new int[size];
// fill array with random numbers
randomArray(
我试图实现冒泡排序,但我不确定它是否正确。如果你可以看一看,如果它是冒泡排序,并且可以用更好的方式完成,请不要害羞。代码如下:
package Exercises;
import java.util.*;
public class BubbleSort_6_18
{
public static void main(String[] args)
{
Random generator = new Random();
int[] list = new int[11];
for(int i=0; i<list.length
我是Python的新手,学习Python中的数据结构。我试图在python中实现一个冒泡排序算法,而且我做得很好,但是我没有得到一个正确的结果。然后我找到了一些教程,在那里我看到他们首先设置了一个检查的基范围。
因此,python中的range语法是:
range([start], stop[, step])
气泡排序算法是:
def bubbleSort(alist):
for i in range(len(alist) - 1, 0, -1):
for j in range(i):
if alist[j] > alist[j+1]:
错误的链接在上面;我一直得到一个符号的noMethodError,我很困惑。
numList = [4,3,78,2,0,2]
def bubbleSort(list)
again = true
while again
copy = list
i = 0
until i == list.length do
list.each_with_index do |num, index|
if list[index+1] < num
tempNum = list[index+1]
list[
我用C语言实现了Shell排序,它只比Bubble排序快3倍。以下是我的排序持续时间(秒):
For list of 100 integers:
BubbleSort: 0.000333
ShakeSort: 0.000282
QuickSort: 0.000048
QuickSort_Iter: 0.000063
InsertionSort: 0.000188
ShellSort: 0.000150
For list of 1000 integers:
BubbleSort: 0.028191
ShakeSort: 0.019354
QuickSort: 0.000435
QuickSor
我已经实现了BubbleSort算法的代码,但是它返回了一个奇怪的错误,你能告诉我问题是什么吗?
public class BubbleSort {
public static int[] unsorted = new int[5];
public void assignRandom(){
for(int i = 0; i < unsorted.length; i++){
unsorted[i] = (int)(Math.random()*10) + 10;
}
}
public void sw