線性表中的元素為正整數或負整數,要求正負分開

時間 2021-08-30 10:27:56

1樓:匿名使用者

補充下一樓的,

演算法1.i 指向線性表頭,j指向線性表尾,a為線性表2.如果a[i]>0 && a[j]<0 swap(a[i],a[j])

如果a[j]>0 j--

如果a[i]<0 i++

3.如果i == j 跳出迴圈 否則執行2void swap(int * a,int* b)#include

int main (void)

if (a[i]<0)

i++;

if (a[j]>0)

j--;

}for (k = 0;k<6;k++)

printf ("%d ",a[k]);

return 0;}

2樓:匿名使用者

將第一個負數和最後一個正數對調就ok了

假設資料存在陣列中,共有n個數

void f(int *a,int n)}}

3樓:

#include

#define n 10

void main()

;i=0;j=n-1;

while(i0)j--;

if(i

}for(i=0;i

printf("%d ",a[i]);

printf("\n");}

線性表的操作

1.分解第二個線性表,按照大小進行插入操作2.先不管大小接合再排序 當然如果單連結串列的形式是建議插入的,因為排序的操作比插入多的多可以設一臨時變數p指向2線性表的尾端 逐個插入1號表,注意判斷插入的位置是否頭尾,需要做特殊處理 linkedlistlist1 new linkedlist link...

線性表和順序表的區別,C語言中的線性表 順序表和連結串列到底是什麼關係?

線性表是鏈式儲存結構,用連結串列實現,使用空間多,且合理。而順序表基本上是用陣列實現的,使用空間有限,會造成浪費。 順序表 靜態分配。程式執行之前必須明確規定儲存規模。隨機存取結構,主要是進行查詢,很少做插入和刪除操作時順序表。線性表 動態分配。只要記憶體空間尚有空閒,就不會產生溢位。從頭指標起順著...

對長度為10的線性表進行氣泡排序,最壞情況下需要比較的次數為

9x8x7x6x5x4x3x2x1 362880 氣泡排序演算法不算優化,但是易於理解。排在第一位的數依次和排在後面的數比較,如果後者較大,則兩個數交換位置,這樣,在比較過的數裡,位於第一的數總是最大的 如果是10個數,那第一輪要比9次,即位於第1的數和位於第2 3 4 5 6 7 8 9 10位的...