我正在尝试找到一种方法,根据输入的姓氏对这个单链表进行排序。我想我可能会尝试冒泡排序,但我在通过第二个元素遍历列表并进行比较时遇到了问题。该列表现在只包含3个名称作为控制台条目,但当我完成此操作时,它应该有10个名称。任何帮助都将不胜感激。
package LinkedList;
import java.util.*;
class SLinkedList
{
public String data1;
public String data2;
public SLinkedList next;
public SLinkedList()
{
dat
下面我有气泡排序的代码。我想知道怎样才能运行得更高效,循环次数更少。 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(
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.我尝试将类型声明更改为->
我在寻找以下算法的运行时间时遇到了很多麻烦。我将非常感谢,如果有人可以帮助我,明确地解决它每行与相应的成本和执行的次数。我最大的问题是计算while循环的执行次数。
Algo: (A,n)
tmp = 0;
do
ready = 0;
for i = n-1 to 1 do
if A[i-1]>A[i] then
temp=A[i-1];
A[i-1] = A[i];
A[i] = tmp;
ready = 1;
for i = 1 to n-1 do
if A[i-1]>A[i] then
我有5个学生的名字和他们在3门课程上的成绩,我计算了他们在这3门课程上的平均值。但然后我需要用他们的数据(名字,3门课程的成绩和平均值)从平均值最高的课程到最低的课程排序。有人能告诉我我的代码出了什么问题吗?这是我的代码。
# include <iostream>
# include <string>
# include <iomanip>
using namespace std;
void read(string names[],double grades[][4],int n);
void average(double grades[][4], int
这是到目前为止我的程序:
#include <iostream>
#include <string>
using namespace std;
template <class type>
void display( type list[], int size );
template <class type>
void bubblesort( type list[], int size);
在我的main函数中,我有列表。
int main()
{
con
更新:好的,我看到它是一个冒泡排序,但是它的效率是不是因为在特定的运行中没有交换时不会停止?它会一直运行到first为空。
嗨,我有一个排序算法如下所示。我的问题是,这是哪种排序算法?我认为它是冒泡排序,但它不做多次运行。有什么想法吗?谢谢!
//sorting in descending order
struct node
{
int value;
node* NEXT;
}
//Assume HEAD pointer denotes the first element in the //linked list
// only change the values…don’t
我创建了一些使用冒泡排序对数组进行排序的代码,但有人告诉我有一种冒泡排序的变体执行得更好,所以我想知道是否有更好的冒泡排序版本。例如,我使用的是常规版本,如果它如下所示:
package termproject3;
import java.util.Random;
import java.util.Scanner;
import java.util.concurrent.TimeUnit;
public class TermProject3 {
/**
* @param args the command line arguments
*/
public static void ma
我是一个编程的初学者,只是在玩排序,并制作了这个算法。它类似于冒泡,但它不是比较相邻的对,而是像这样的对:第一和第二,第一和第三……第二和第三,第二和第四,以此类推。您能告诉我该算法的性能/效率是什么吗?或者将其与气泡进行比较?或者至少建议我如何自己解决这个问题。我感兴趣的是有多少气泡比这个更好。谢谢。
void sortArray(int a[]) {
int q, x, temp;
for ( q = 0; q < SIZE - 1; q++ ) {
for ( x = q + 1; x < SIZE; x++ ) {
if (a[q] < a
我想知道下面的排序算法是什么。我知道这是一个整数排序算法,但除此之外,我还没有弄明白: void mySorter(int arr[]) {
int a = arr.length;
for (int i = 0; i < a-1; i++) {
int min = i;
for (int j = i +1 ; j < a; j++) {
if (arr[j] < arr[min])
min = j;
int temp = arr[min];
最近,我被要求编写一些简单的ol JS,它将遍历静态html表,并允许我将其中的数据分别按列排序。我目前的想法是循环遍历各行,获取单元格数据。但我觉得一定有一些我忽略了的东西。我觉得我可以进一步优化我到目前为止所拥有的。我对循环中的循环并不感兴趣,问我这个问题的人相信这也是可能的。但我有点困惑,我想我可以进一步削减它。
到目前为止我所拥有的是。
let table = document.getElementById( "table" );
let arr = [];
for(let i=1; i < table.rows.length; i++) {
let ob
我正在尝试让程序生成两个随机数组,然后使用冒泡方法对它们进行排序,这样以后我就可以很容易地挑选出中间的3个数字。当我延迟eclipse并第一次运行它时,每当我试图再次运行它时,控制台什么都没有显示,我假设程序仍然在运行,因为我有终止的选项。
import java.util.Arrays;
import java.util.Random;
public class DiversCalc {
public static void main(String[] args){
int[] Diver1 = new int[7];
int[] Diver2 = new int
是否有可能使用冒泡排序的二进制搜索来对其进行排序?
这是我的冒泡排序和二进制搜索。我该如何组合它们呢?
int Search_for_Client (int cList[], int low, int high, int target) {
int middle;
while (low <= high) {
middle = low + (high - low)/2;
if (target < cList[middle])
high = middle - 1;
else if (target &
我不是排序专家,但据我所知,以下程序应该可以工作。不幸的是,它并不总是有效的。你能帮我找出它出了什么问题吗?谢谢。代码如下:
/*
* Question4.c
*
* Created on: 12 Feb 2015
* Author: Daniel
*/
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#define SIZE 10
int main(void)
{
int array[SIZE], i, gap,temp, k, m;
srand(tim