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

2021-12-30 04:37:47 字數 1362 閱讀 7217

順序表的例項有很多,在學其他的程式語言時,肯定都學過要求輸入一串亂序的數字,要求進行排序,實現公升序或降序輸出。今天就來用順序表實現亂序輸入,順序輸出(公升序)。

實現上述的功能需要用到的順序表的基本操作有0基本操作前的準備,1初始化順序表,6向順序表插入資料元素。

自己只需寫乙個排序的函式,排序函式的**為:

//排序函式

void paixu(sqlist &l)}}

}然後只需在主函式中定義乙個順序表,亂序輸入一些資料元素,呼叫排序函式,然後遍歷輸出排序後的順序表的所有資料元素。整個**為:

#include

using namespace std;

#include

#include

#define true 1

#define false 0

#define ok 1

#define error 0

#define overflow -2

#define list_init_size 100

#define listincrement 10

typedef int elemtype;

typedef int status;

typedef struct

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 paixu(sqlist &l)}}

}int main()

paixu(la);

cout<

輸入順序表的元素個數為:10

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

輸出的結果為:

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

實現輸入資料逆置和順序表實現排序是兩個極其相似的過程,因此使用的順序表的基本操作也是一樣的 0基本操作前的準備,1初始化順序表,6向順序表插入資料元素。要想實現輸入資料元素的逆置還需要乙個逆置函式,逆置函式在c c 語言中早已接觸過,因此不陌生,記得在做大量的c 的程式 補充的大題就寫過不下數十遍,...

DS順序表之迴圈移位

題目描述 順序表的移位是迴圈移位,例如順序表 1,2,3,4,5,6。如果左移1位,即原來的頭元素移動到末尾,其它元素向左移1位,變成2,3,4,5,6,1。同理,如果右移1位,即原來的尾元素移動到頭,其它元素向右移1位,變成6,1,2,3,4,5。以下是移位的多個例子 原資料 1,2,3,4,5,...

DS順序表之迴圈移位

題目問題 l ds順序表之迴圈移位 時間限制 1 sec 記憶體限制 128 mb 提交 657 解決 403 提交 狀態 討論版 題目描述 順序表的移位是迴圈移位,例如順序表 1,2,3,4,5,6。如果左移1位,即原來的頭元素移動到末尾,其它元素向左移1位,變成2,3,4,5,6,1。同理,如果...