A. c語言快速排序做索引數組
能簡短的說明一下你想要什麼么,我的理解是給我一個數組,讓我排序,最後輸出一個從小到大(或從大到小)的數組的原數組元素下表。
比如是s[10]={21,51,12,0,61,81,91,41,71,31} 排序後a[10]={0,12,21,31,41,51,61,71,81,91}
輸出為3,2,0,9,7,1,4,8,5,6對應0:s[3]=0,1:s[2]=12,2:s[0]=21,。。。。。。是這樣不?
B. C語言一維數組中如何查找指定元素
1、打開pycharm,新建Test_List.py,如圖所示。
C. 用c語言怎麼做索引數組
用索引做排序就可以了
void select_sort(int *a, int len) {
int Min;
int *index;
index=(int *)new int[len];
for ( int i=0;i<len;i++ ) index[i]=i;
for (int i = 0; i < len - 1; i++) {
for (int j = 1 + i; j < len; j++) {
if (a[index[i]] > a[index[j]]) {
Min=index[i];
index[i]=index[j];
index[j]=Min;
}
}
}
for ( int i=0;i<len;i++ ) cout<<index[i]<<' '; cout<<endl;
for ( int i=0;i<len;i++ ) cout<<a[index[i]]<<' '; cout<<endl;
delete [] index;
}
D. 如何用C語言進行索引排序
問題解決了嗎,也也想知道方法
E. c語言可以用字元串作為數組的索引名(鍵名)嗎
字元串不可以,,,,,,數字性質的值,如int
~~~~~~~~~
F. c語言編寫索引數組
#include<stdio.h>
voidmain(void)
{
inti,j;
inta[5]={5,4,2,3,1};
intb[5]={0,1,2,3,4};//下標序號,數量多就自增賦值
intc,d;
printf("原數組: ");
for(i=0;i<5;i++)
{
printf("%2d",a[i]);
}
for(i=0;i<5;i++)
{
for(j=4-i;j<4;j++)
{
if(a[j]>a[j+1])//從小到大冒泡法交換大小同時交換下角標
{
c=a[j];
a[j]=a[j+1];
a[j+1]=c;
d=b[j];
b[j]=b[j+1];
b[j+1]=d;
}
}
}
printf(" 數組: ");
for(i=0;i<5;i++)
{
printf("%2d",a[i]);
}
printf(" 下標: ");
for(i=0;i<5;i++)
{
printf("%2d",b[i]);
}
getchar();
}
G. C語言中如何使用數組來索引鏈表謝謝
創建一個數組
最好是結構體的
一個域用來保存鏈表元素地址,一個域用來保存鏈表的關鍵字,比如值。
然後 在鏈表增加刪除的時候,同步操作這個數組就好。
排序 移動什麼的,不需要改。
不過 這樣做意義不大。 很少有用數組做鏈表索引的。
H. C語言上的問題編寫一個函數,返回一個double數組中存儲的最大數值的索引,並在一個簡單的程序中測試。
你的程序有問題,不是簡單的語句錯誤,你的思路錯了,你看一下你的程序根本就不是在找最大值的索引,而是在找第一次出現數字變小的那個數字的索引,這樣說有點模糊,舉幾個例子,來說明一下你的程序是在干什麼。例如,你要是搜索序列1,2,3,1,4,5,6那麼會返回2,因為第二個數字(也就是3),開始第一次下降,因為下一個數字為1,比3小,所以你的程序就開始返回了,並且返回2。再舉個例子,例如搜索序列2,4,6,8,5,7,9那麼你的程序就會返回索引3,因為第三個數字(即8),開始出現下降,下一個數字為5,比8小,所以你的程序就開始返回了,並且返回值為8的索引3(即第3個數字)。 不知道你是否明白了,其實你的意思是想找出最大的那個,就只要max對所有的數字遍歷一下,並且不斷更新為更大的值,而且用max1緊隨其後標記更新的最大值的索引,max1=i;而將return max1;放到調用函數的最後面一句就可以了。 如果你還是不太明白可以追問我,要是你真的明白了,可以做一下選擇排序的題目,會讓你加深理解的