DS之順序表實現輸入資料逆置

2021-07-01 23:04:04 字數 925 閱讀 6934

實現輸入資料逆置和順序表實現排序是兩個極其相似的過程,因此使用的順序表的基本操作也是一樣的:0基本操作前的準備,1初始化順序表,6向順序表插入資料元素。

要想實現輸入資料元素的逆置還需要乙個逆置函式,逆置函式在c++,c#語言中早已接觸過,因此不陌生,記得在做大量的c++的程式**補充的大題就寫過不下數十遍,挺簡單的掌握技巧,就是你輸入資料的個數的一半,前後進行交換,因此逆置函式的**為:

//逆置函式

void nizhi(sqlist &l)

sqlist;//定義了乙個結構體型別,並命名為sqlist

//1初始化順序表

status initlist(sqlist &l)

l.length=0;//長度為0

l.listsize=list_init_size;

return ok;

}//6向順序表插入資料元素

status listinsert(sqlist &l,int i, elemtype e)

if (l.length>=l.listsize)

l.elem=newbase;

l.listsize+=listincrement;

} elemtype *q=&(l.elem[i-1]);

elemtype *p;

for(p=&(l.elem[l.length-1]);p>=q;--p)

*q=e;

++l.length;

return ok;

}//逆置函式

void nizhi(sqlist &l)

nizhi(la);//呼叫逆置函式

for(i=0;i

輸入資料為:順序表的個數為10

輸入的資料元素為:0 1 2 3 4 5 6 7 8 9

輸出的結果為:

DS 002 順序表 逆置所有元素

問題.設計乙個高效的演算法,將順序表所有元素逆置,要求演算法的空間複雜度為o 1 演算法思想 將第乙個元素與最後乙個元素互換,第二個元素與倒數第二個元素互換,以此類推。偽 void reverse sqlist l elemtype temp 中間變數 for i 0 i解析 空間複雜度是o 1 表...

DS之順序表實現亂序輸入順序輸出

順序表的例項有很多,在學其他的程式語言時,肯定都學過要求輸入一串亂序的數字,要求進行排序,實現公升序或降序輸出。今天就來用順序表實現亂序輸入,順序輸出 公升序 實現上述的功能需要用到的順序表的基本操作有0基本操作前的準備,1初始化順序表,6向順序表插入資料元素。自己只需寫乙個排序的函式,排序函式的 ...

2 20 實現順序表的就地逆置

關於結構體指標的問題,在這裡做了幾個測試 就結構體sqlist來說明,l是型別為sqlist的結構體變數,這邊測試了幾個函式,引用l時,引數為它本身或者為指向它的指標均可 但是在建立順序表時,只能用 l,指標形式。include include typedef int elemtype typede...